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

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

[复制链接]
feiante-155820 发布时间:2014-8-26 11:27
 今天主要是来学习下mbed平台下,串口的使用方法。
同样的方法,还是在mbed编辑器下,main.cpp写入如图1所示的程序,然后编译后把bin文件复制到NUCLEOU盘中,实现程序的下载,此时会发现板子上的绿色LED灯每一秒闪烁一次,程序中的SERIAL_TXSERIAL_RX对应的管脚是PA2PA3,将PA2PA3连接到电脑串口调试工具,可以看到串口调试工具上显示如图2所示,即先显示“Hello World!”,然后每一秒显示一个字符串。
程序分析:首先Serial pcSERIAL_TX,SERIAL_RX):是把tx,rx设成Uart1的输出输入管脚  DigitalOut    myledLED1;就是把LED1对应的管脚设置为数字输出,对应电路板,就是PB13管脚,DigitalOut     myled1PA_12),这个是我把PA_12设置为输出,外部接了个LEDpc.printf()printfpc类下的一个方法,它的作用和C语言中的printf是一样的。
 
串口对象还有getcputc方法,作用就是从串口读取一个字符和向串口发送一个字符。
在主程序中试验这个方法:在while循环下加入pc.putc(pc.getc());就是将收到的数据发送出去。试验发现如图3所示,用串口发送数据后,串口显示数据,但是在串口没有发送数据时,串口也不会显示数据,这是因为pc.putc(pc.getc());的机制是有数据处理数据,没有数据就一直等待,所以导致下面的程序不会执行。
 
换种方法,使用串口中断方式:
程序如图5所示,也是使用了attach方法,它就是设置Uart中断所需要执行的用户自定义函数,也就是中断处理函数。这样就可以发现,如图6所示,如果串口没有发送数据,那么主程序中的程序会执行,如果串口有发送数据,那么把发送的数据显示出来。
其他的方法使用也是一样的,比如要设置串口的波特率,可以按照图7的方法就可以了。
 
图1.JPG
图2.JPG
图3.JPG
图4.JPG
图5.JPG
图6.JPG
图7.JPG
收藏 1 评论25 发布时间:2014-8-26 11:27

举报

25个回答
三生石-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平台---串口学习

看看
零芐9度 回答时间: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-111103 回答时间:2014-8-29 14:59:57

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

 好东东!
 
123下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版