您的位置:首页 > 其它

STM32M CUBE实现printf打印调试信息以及实现单字节接收

2018-02-09 17:31 489 查看
原文地址::https://www.2cto.com/kf/201506/412341.html

相关文章
1、使用stm32cubemx开发四:串口标准化输出----http://blog.csdn.net/u014256685/article/details/45893097
2、STM32Cube Printf uart重定向----http://blog.csdn.net/u014298427/article/details/50493905

在写单片机程序时我们一般喜欢使用printf来通过串口打印调试信息,但这个函数是不可以直接使用的,必须做点对库函数的改动。 STM32M CUBE是ST官方提供的库以及初始化工具,很好很强大,但是在UART方面值提供了如下函数: 
?
分别实现普通收发,中断收发,DMA收发,问题是所有函数要求发送和接收的buf必须要事先知道长度,也没有提供对单字节的收发,无法直接实现printf以及单字节接收。 其实要实现这些还是很简单的,首先是实现printf在main.c 添加如下信息 ?
在这里我们实现了单字节发送函数,注意实现这种发送方式的前提是单字节发送的相关中断不能打开,否则会进入无限等待,做好之后就可以使用printf了。  ?
然后是中断单字节接收,修改中断接收函数如下:  ?
注意使用cube生成的代码默认是没有打开接收中断使能的,要在这里打开:  ?
这样就实现了这些功能,但是之前cube的默认功能,中断收发已经不能用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐