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

【Nucleo板开发日志】+mbed平台---串口学习

[复制链接]
feiante-155820 发布时间:2014-8-26 11:27
 今天主要是来学习下mbed平台下,串口的使用方法。
  I+ p% @4 Q9 B7 u4 y/ p同样的方法,还是在mbed编辑器下,main.cpp写入如图1所示的程序,然后编译后把bin文件复制到NUCLEO的U盘中,实现程序的下载,此时会发现板子上的绿色LED灯每一秒闪烁一次,程序中的SERIAL_TX和SERIAL_RX对应的管脚是PA2和PA3,将PA2和PA3连接到电脑串口调试工具,可以看到串口调试工具上显示如图2所示,即先显示“Hello World!”,然后每一秒显示一个字符串。
# ?3 ^& y5 W3 s; x程序分析:首先Serial pc(SERIAL_TX,SERIAL_RX):是把tx,rx设成Uart1的输出输入管脚  DigitalOut    myled(LED1);就是把LED1对应的管脚设置为数字输出,对应电路板,就是PB13管脚,DigitalOut     myled1(PA_12),这个是我把PA_12设置为输出,外部接了个LED。pc.printf():printf是pc类下的一个方法,它的作用和C语言中的printf是一样的。
3 b& e( l5 g# E3 E ; ?- p% m. ~+ K9 @' C) ^- H" ~
串口对象还有getc和putc方法,作用就是从串口读取一个字符和向串口发送一个字符。
. M* g: Y) |2 u1 z0 Z! r3 t在主程序中试验这个方法:在while循环下加入pc.putc(pc.getc());就是将收到的数据发送出去。试验发现如图3所示,用串口发送数据后,串口显示数据,但是在串口没有发送数据时,串口也不会显示数据,这是因为pc.putc(pc.getc());的机制是有数据处理数据,没有数据就一直等待,所以导致下面的程序不会执行。( {- N" H+ ]" U; y6 u
 
6 ?1 G, e2 i* I; [& z2 u换种方法,使用串口中断方式:6 d- Y3 Y# P: x! w1 v
程序如图5所示,也是使用了attach方法,它就是设置Uart中断所需要执行的用户自定义函数,也就是中断处理函数。这样就可以发现,如图6所示,如果串口没有发送数据,那么主程序中的程序会执行,如果串口有发送数据,那么把发送的数据显示出来。
& T, ]0 o4 x- ?9 B; ~8 J: V其他的方法使用也是一样的,比如要设置串口的波特率,可以按照图7的方法就可以了。
/ r1 x6 ~6 G' \/ k7 c; ] 
图1.JPG
图2.JPG
图3.JPG
图4.JPG
图5.JPG
图6.JPG
图7.JPG
赞 收藏 1 评论25 发布时间:2014-8-26 11:27

举报

25个回答
snowy_luoluo 回答时间:2016-4-24 12:16:06
你好 我也在做stm32系列的串口练习+ U5 F+ Q1 ?8 _  e2 ~
在mbed平台上用的例程' P2 b( m/ s6 B" @' D
波特率9600 连接好 也编译好了 但是串口助手一直没有收到数据
' t- n. F& k0 \  O: q5 m9 F0 d我看有人说要把板子上的两对TX/RX引脚用杜邦线对应连上5 e6 A# w; t8 d' @$ i9 S& h
我也照做了。。但是仍然没反应。。不知道你实验时在硬件连接上有什么要连的地方吗?
' L( `) a1 Q) l% Z, ^, e. G
bilgates 回答时间:2014-10-31 20:32:16
这个只是官网的东西,但是自己配置后为什么打印不出数据来,有没有大神帮忙解答一下的,谢谢~
king_work 回答时间:2014-12-31 16:22:42
谢谢LZ提供很棒的信息,问下楼主你这边是否有mbed 库函数
三生石-350221 回答时间:2014-8-26 12:55:27

回复:【Nucleo板开发日志】+mbed平台---串口学习

学习
Robot@HCS 回答时间:2014-8-26 13:21:01

RE:【Nucleo板开发日志】+mbed平台---串口学习

参考参考  学习学习
霹雳之火 回答时间:2014-8-26 14:03:08

RE:【Nucleo板开发日志】+mbed平台---串口学习

期待后续更精彩
平淡~简单 回答时间:2014-8-26 20:45:01

回复:【Nucleo板开发日志】+mbed平台---串口学习

看看
abo0811 回答时间:2014-8-27 16:51:33

RE:【Nucleo板开发日志】+mbed平台---串口学习

这些mbed平台的语言怎么这么简洁的?!但是要自己写又写不出来啊!这些程序是按照什么规则来写的?
sacq12 回答时间:2014-8-27 22:09:42

RE:【Nucleo板开发日志】+mbed平台---串口学习

不错哦~
xgang1989 回答时间:2014-8-29 14:20:09

RE:【Nucleo板开发日志】+mbed平台---串口学习

看看
sun2005 回答时间:2014-8-29 14:59:57

回复:【Nucleo板开发日志】+mbed平台---串口学习

 好东东!3 n5 Q$ {& b* b" `, P5 k7 f
 
五月雨 回答时间:2014-8-30 12:04:09

RE:【Nucleo板开发日志】+mbed平台---串口学习

学习一下
jianbin123 回答时间:2014-9-2 17:15:20

RE:【Nucleo板开发日志】+mbed平台---串口学习

附件呢????????
wendy8888 回答时间:2014-9-3 08:10:01

RE:【Nucleo板开发日志】+mbed平台---串口学习

RE:【Nucleo板开发日志】+mbed平台---串口学习,板需要多少米?
cc725 回答时间:2014-9-5 14:10:23

回复:【Nucleo板开发日志】+mbed平台---串口学习

学习
10-软件设计 回答时间:2014-9-6 21:20:10

RE:【Nucleo板开发日志】+mbed平台---串口学习

F3做极品飞车USB手柄
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版