STMCU小助手
发布时间:2021-1-27 11:22
|
STM32串口通信 用过STM32的小伙伴们都对这个功能不陌生吧,串口通信可以用来驱动at指令,与串口屏通信,熟悉掌握串口的使用可以做很多事情,例如蓝牙模块,WIFI模块,物联网模块。 因为当前很多模块厂家都封装好了,我们只需要会发送串口指令就可以。 我们先上完整工程,代码在Github中:https://github.c/WANG-GXI/USART(如果不会使用请先看入门教程) 我打包为压缩包:USART.zip 像这种蓝牙模块某宝随便搜索就可以看到它的使用方法:
还有正点原子的ESP8266也是需要串口去发送指令
具体的原理我们就不多赘述了直接开始讲解使用方法 配置串口包括三部分内容: 1.I/O口配置:TXD配置为复用推挽输出(GPIO_Mode_AF_PP),RXD配置为浮空输入(GPIO_Mode_IN_FLOATING); 2. 串口配置:波特率等; 3. 中断向量配置:一般用中断方式接收数据。 注意事项: 在我们一般的使用中会发现串口初始化函数都大同小异,但是需要注意的是配置中断口时串口45的入口分别是UART4_IRQn、UART5_IRQn,而在移植代码的时候应该同样注意串口45不是USART。 下面我们把代码贴出来,就举串口1与串口4的例子 这是正点原子的串口例程 USART1
这是我自己用的串口代码 UART4:
对串口的使用关键在于中断函数的编写,首先应了解u8,u16定义的是什么再往下看。我们用com1_data来存储收到的数据,可以看到我注释中的代码是把接收到的数据进行openmv算法处理,这里根据自己的需要进行更改。
当我们需要接收字符串时候中断应该用一个数组来存储接收值。
对于发送就是很普通的字符串检测,我们把需要发的指令作为函数参数调用就可以了。
在研究代码的前提是我们的接线没有问题,小鱼之前在玩时总是莫名其妙的把RX 与TX接错导致心态崩掉,同时也是对大家的提醒,当代码确定没有问题时去看看硬件连接。 文章出处: 小鱼君code |
微信公众号
手机版