你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

[复制链接]
sacq12 发布时间:2014-8-30 15:47
基于官方的有关例程:UART_TwoBoards_ComIT
7 j* a" r+ A1 q该用意是使用两块板测试串口收发。
, z  y+ G9 d  u" ]这个笔记由此而开始:
4 L7 t3 d0 D/ ]/ m1.虚拟串口驱动的波折
( ^8 u# Y2 y0 {5 @安装ST相关驱动后,发现虚拟串口(VCP)在XP系统的AMD机器上不能正常使用,换台非AMD机就正常了,只好先这样了,需要虚拟串口时就换其它机器啦.
& b8 f9 Q- I  M8 W' \& D  {2.坏了UART1,改UART3
6 b: j$ e8 l, ]: E* [' {5 J& G例程里用的UART1(PB6,PB7),折腾了几次,可能不太小心,觉得是把其中PB6玩坏了。只好准备改用UART3(PC10,PC11)。
7 G4 ?5 V, g4 q. X  iUART3与板上的VCP通道接法:
' Q7 j8 d8 |6 d" |PC10 (TX) --- CN3 RX
% J& ?' A& x4 f5 ?; ?- lPC11 (RX) --- CN3 TX0 W% G' J2 C% I
3.没有“双板”,找“助手”
  Q. K# f* P: F1 `% p7 [原例程的用意是使用“双板”测试串口收发。在只有一块板,当然可以借助PC端的“串口助手”软件来测试。7 p6 s4 ~) @# Z# i5 u8 c
4.测试主要过程及现象:' M# D, s$ {2 G6 ~4 Y5 V
串口助手准备好后,+ l. d5 b1 J9 B  W. [% [9 h7 T
按NUCLEO板的黑色按纽,复位,绿色LED闪动
6 p7 f+ Z: x9 \+ H6 Q" q/ j再按NUCLEO板的蓝色按纽,从串口发出一串字符“ ****UART_TwoBoards_ComIT****”,重复3次;绿色LED熄灭: \% |- S$ X- Y* t/ w# y
在串口助手上可以看到对应的字符“ ****UART_TwoBoards_ComIT****”9 a' N2 X( u+ _2 e/ a3 x- ?
在串口助手上把收到的一列字符,原样发回到NUCLEO板' g( }& f3 V+ R; J  `
过片刻,NUCLEO板上的绿LED重新亮起,说明收到了数据,并正确;如果LED是慢速闪动,那么肯定收到的字符串是不太一样的,认为是有错误的。(多个空格或少个空格,都不行,太过份了!)
  ^* R9 p7 I$ G* x5 I串口的发送接收测试完毕!
3 r" H7 \3 j' g改变波特率的测试:除9600外,还把波特率分别提高到19200,38400,56000(我的助手只有这么高了),都OK!/ I% [* Q9 H% B2 b: ~
4 M1 h4 ?; |) ^" ~7 O& o
详情可见源码.
- S. h, @4 P! K/ s$ r7 F1 k 
8 R6 D* f+ q8 o6 x8 U************
7 u" v1 l- ?* M4 C8 J- emain.h 里的原文及修改后的" _% N/ ?& h# x* l* g3 C
/* User can use this section to tailor USARTx/UARTx instance used and associated * t$ ^, w6 M2 f
   resources */2 [: }: D" D6 r1 K
/* Definition for USARTx clock resources */7 j# i- f7 Y, \
/*
9 [: D; V1 N4 f# l2 Z#define USARTx                           USART1# ~+ Z" E. ^+ {* d- L9 B
#define USARTx_CLK_ENABLE()              __USART1_CLK_ENABLE()
' L* s5 |( C) X9 a/ D; I5 {#define USARTx_RX_GPIO_CLK_ENABLE()      __GPIOB_CLK_ENABLE()3 X$ b. C! R, b; X) _; [
#define USARTx_TX_GPIO_CLK_ENABLE()      __GPIOB_CLK_ENABLE()5 j" O% Z4 H. u. G1 h6 X6 @

4 i# E6 C% i+ |5 j#define USARTx_FORCE_RESET()             __USART1_FORCE_RESET()
+ q$ b( R2 A7 f/ V% R#define USARTx_RELEASE_RESET()           __USART1_RELEASE_RESET()
) E1 {; h0 _6 c, o) S/ s/ k) B! ] */
% `3 L8 p  e* J7 S. M#define USARTx                           USART3   // 3
1.jpg
2.jpg

UART_TwoBoards_ComIT.zip

下载

2.24 MB, 下载次数: 229

收藏 1 评论10 发布时间:2014-8-30 15:47

举报

10个回答
沐紫 回答时间:2014-9-1 15:05:25

RE:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

顶一个
sacq12 回答时间:2014-9-1 18:39:58

RE:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

不回复,楼主自己都看不到图和附件,什么情况?
qsj 回答时间:2014-9-16 21:40:08

回复:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

看看看
rdh 回答时间:2014-10-9 11:49:07

RE:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

路过,看看,谢谢楼主
dyhg 回答时间:2014-10-16 11:02:01

RE:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

学习学习
hhehehehe 回答时间:2014-10-16 20:46:01

RE:【Nucleo板开发日志】串口折腾记(虚拟串口与UART3的对话)

学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习学习
vfdfdd 回答时间:2016-1-19 15:15:37
折腾了一上午。没弄好虚拟串口的驱动,设备管理器识别不出来,不知道楼主是直接有跳线链接的硬件,没有识别出com可以使用调试助手吗?
孺子是我 回答时间:2017-1-25 12:30:05
问个问题串口是通过接ST-LINK的那根数据线复用,还是通过usb转ttl接到rx,,tx引脚上
孺子是我 回答时间:2017-1-25 12:38:16
没事了,哈哈,我插上之后电脑上就显示串口了,真方便
cgqlucklinux 回答时间:2018-6-8 12:23:06

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版