STM32自学笔记之串口通信(USART)

之前写过一次,哎,因为装系统把内容一不小心给删完了,我花费了这么长时间写的东西,瞬间啥都没有了,算了就当复习复习以前的知识吧。

今天又在重新写了一次USART(串口通信),感觉还行,就是对这个东西,还有点模糊,他到底是个什么东西,干什么用的,什么时候能用到它,难道它就是个简单的串口通信吗?它还有其他的什么功能等等一系列的问题,我感觉这是我至今为啥还是对STM32模糊的原因,就是在学习每个寄存器、控制器的时候有好多模糊的地方,但又不知道具体模糊在那个地方,导致现在我STM32的理解还存在很大的问题,这些还得以后慢慢去体会,慢慢地去理解。

简单的说一下我对USART的编程的认识以及在编程中所遇到的问题和值得注意的地方,首先值得注意的是RCC的设置,STM32的结构决定的用任何一个外设,就必须设置相应的使能时钟,其实USART的编程挺简单的,就是直接调用库函数就行了,按照固件库手册,对函数参数进行设置就行了。但须注意波特率的设置以及串口助手上的波特率设置的一致性。否则会出现乱码,还有在函数体的最后别忘加while(1)循环体,如不加此循环体,在串口助手上打印出要输出的字符时,会在后面多一个乱码的字符(具体怎么回事,我也不知道)。除此之外,就是printf的重定向,据刚刚学到知识说,在STM32的标准库函数中默认的输出设备是显示器,要实现串口或LCD输出,必须重定向标准库函数里调用的与输出设备相关的函数,这样才能让输出的函数打印在串口助手上,在使用printf时,不要忘记勾选Use MicroLIB这个选项,还有不要忘记去包含<stdio.h>这个头文件,还有串口接收上,野火程序上用的是中断,我也尝试过不用中断的方法,但是不是很理想,还是中断比较好,在搞中断的时候,让我知道了NVIC(嵌套向量中断控制器),这个东西,它就是规章制度,规定响应优先级、从优先级、开启USART1的全局中断等等一系列的设置。以上就复习USART时,所遇见的问题以及自己觉得值得注意的地方,其它的也没有什么了,在以后的学习过程中,如在了解到相关知识,再在那里做补充。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值