打印
[STM32F4]

【Nucleo-F413ZH创想】 实验八 串口输出实验

[复制链接]
1002|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhjb1|  楼主 | 2017-1-27 20:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhjb1 于 2017-1-27 21:22 编辑

【Nucleo-F413ZH创想】 实验八 串口输出实验
先查看用户手册,看看PinNames.h找出合适的串口,PA_2,PA_3适合本实验,当然其他许多IO口都支持USRT。
采用MBED启用串口,需要打开Serial.h文档,按照其中的案例开始设置;
首先在main.cpp的前边定义对象:
//define UART
Serial prtOut(PA_2,PA_3);//TX,RX
后边的注释说明PA_2是TX,PA_3是RX以便后续连接USB串口连线。
接着在ioInit()函数中声明波特率:
prtOut.baud(115200);
这样prtOut就是一对串口,可以用115200bps传输或接收数据了,在main()的循环体中,将2路ADC采样的数值,2路PWM的周期,以及采用中断方式2路检测脉冲数都从UART通过USB串口转接器输出到PC串口终端显示出来,循环体中加入:
采样完2路ADC之后加上:
prtOut.printf("A0=%4f A1=%4f ",val0,val1);
2路PWM周期输出到PWM计数器后加上:
prtOut.printf("PW0=%.4f PW1=%.4f ",dut0,dut1);
由于2路检测脉冲由中断函数完成,因此在输出到LCD现实之前加上:
prtOut.printf("IP14=%2d IP15=%2d\r\n",ip14,ip15);
结果见照片图81,图82。实际上到此已完成4路ADC了,实际的效果是:1路程序计数器、4路ADC、2路PWM、1路脉冲输出、2路中断输入、1对串口[UART]。照片83.

81-PA_2,PA_3串口输出_入检测.jpg (351.5 KB )

图81

图81

82-PC模拟串口接收的数据.JPG (561.19 KB )

图82

图82

83-1路计数器,4路ADC,2路PWM,1路脉冲出,2路中断入,1对串口.JPG (530.2 KB )

图83

图83
沙发
hhxf1| | 2017-1-27 21:20 | 只看该作者
学习了,很好,棒!

使用特权

评论回复
板凳
zhuotuzi| | 2017-1-28 09:08 | 只看该作者
不错不错,楼主用的是什么编程平台?MBED?

使用特权

评论回复
地板
hellosdc| | 2017-1-28 18:42 | 只看该作者
串口驱动哪里来的

使用特权

评论回复
5
hellosdc| | 2017-1-28 18:43 | 只看该作者
楼主有工程文件可以参考吗?

使用特权

评论回复
6
zhjb1|  楼主 | 2017-1-28 21:15 | 只看该作者
zhuotuzi 发表于 2017-1-28 09:08
不错不错,楼主用的是什么编程平台?MBED?

是mbed

使用特权

评论回复
7
zhjb1|  楼主 | 2017-1-28 21:17 | 只看该作者
hellosdc 发表于 2017-1-28 18:43
楼主有工程文件可以参考吗?

采用mbed工程,所有的函数都是有mbed提供的。你只需要定义对象、绑定属性和方法,一切就Ok了。你可以从我的实验一开始看起,就会明白的。依葫芦画瓢,轻松到达这里。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:永远好心情 [img]https://bbs.21ic.com/static/image/s

59

主题

271

帖子

1

粉丝