STM32cubeIDE串口uart打印

STM32cubeIDE进行Uart打印

注意:

注意不能打印浮点数,因为uart的传递的数据就是int类型,但是如果把printf重定向到ide,可以使能printf打印浮点数
注意1: stm32cubeide没有usart的库函数了,由于usart逐渐被淘汰,stm32的HAL库只留下了uart的库
注意2: stm32cubeide移植printf函数与keil移植printf函数不同的是,keil可以勾选lib库,由于stm32cubeide问世不久教程很少,并不能有效的重定向printf函数,可能是我的编译器配置有问题
解决办法 用HAL_UART_Transmit函数代替printf,并且减少了每次移植printf找代码的麻烦,只不过每次串口打印时,麻烦那么一点点 //注意使用阻塞式串口打印,也就是使用不带中断的串口打印
例子:在上位机打印"你好 word" HAL_UART_Transmit(&huart1,(uint8_t*)“你好 world”,sizeof(“你好 world”), 0xffff); //注意工程用GBK编码才能打印中文

结果验证

2020-6-16后续

>>今天又试了一下,参考https://blog.csdn.net/qq_36075612/article/details/96851644这个博客
>>能打印了,并没有选择什么其他的什么库与编译器,使用的默认的精简版的C库,对了fputchar
>>不需要在uart.h里面进行声明,在调用printf时,编译器会自动找到fputchar函数,它的声明已经在stdio.h文件有了

重定向printf的代码

```c #include "stdio.h" #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) PUTCHAR_PROTOTYPE {  HAL_UART_Transmit(&huart1,(uint8_t*)&ch, 1, HAL_MAX_DELAY); return ch; } #endif 

全部评论

相关推荐

10-17 16:48
已编辑
南方科技大学 图像识别
记录一下找工作的感受吧。鼠鼠硕士阶段搞的图像处理,用了深度学习比较成熟、简单的模型,技能点主要在科研上研二下学期准备找工作,先投AI、机器学习的暑期实习,没有结果。当时不想投开发,觉得太累了。后面找不到工作,就转开发了。但是八股不会,刷题不精,挂了好多笔试面试。在一个线下宣讲会获得了一个小科技公司的日常实习机会。我的实习公司,70%是应届生,共同话题很多。我问了算法部门刚入职的同事,一位同事硕士阶段和我的成果差不多。他们毕业院校一般,觉得算法很难,之后想换工作。我也有几个985硕科班算法的朋友,他们去找工作🈚压力。我等凡人不跟他们竞争了。工位旁还有几位java开发工程师,我需要他们提供接口给我,大概也了解了他们的工作内容。一个同事说弄懂java虚拟机最重要。而我看那些知识点觉得很枯燥,我想我还是稍喜欢现在的工作,主要画画ui。鼠鼠也蛮喜欢科研,但是科研压力很大,想出好文章有时违背本心。而且鼠鼠方向和工业界联系不紧密,挣不了大钱。如果出国的话,🇺🇸现在环境比较糟糕,签证很难弄。好几个朋友想出国申博,还没结果。祝他们好运吧,我就不想继续卷了。同学院其他找工作的女生同学,只能找营销,产品经理之类的岗位,她们不是很喜欢。我是本科有一些开发经历,加上学历过关,才能转码的。男生稍微好一点,但是专业原因找工作也是有一些困难。大概就记录到这里吧,供大家参考,尤其是和我一样不上不下背景,正在纠结的朋友。截图随便配的,这家公司投了之后懒得做测评,今天收到面试邀请,我懒得去了。位置在惠州,觉得很远。u1s1,开发的工作真的好多,不论老家,还是惠州这种城市,还是深圳,都很多。
点赞 评论 收藏
分享
10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务