STM32CubeMX 4 解锁UART模块

先打开设置界面:
STM32CubeMX 4 解锁UART模块_第1张图片

我想使用UART3口,想使用的引脚是PB10 和PB11(非默认引脚,所以要在引脚上设置,如果在左边configuration设置就会是默认引脚了)。
STM32CubeMX 4 解锁UART模块_第2张图片

选完发现是黄的,之后配置左边的uart3,选择异步通信。
STM32CubeMX 4 解锁UART模块_第3张图片

选完就发现是绿的了。
STM32CubeMX 4 解锁UART模块_第4张图片

双击UART3弹出configuration的设置界面。

STM32CubeMX 4 解锁UART模块_第5张图片

这边就是熟悉的参数设置了,波特率什么的。

然后要enable 全局中断(理解成所有关于UART3的中断即可?)
STM32CubeMX 4 解锁UART模块_第6张图片
还可以配置成DMA传送数据,下一篇讲这个。

至此,在CubeMX中的设置都结束了。
generate code

打开之后先编译一下。
然后在uart的.h文件中的靠后部分可以看见IO口的操作函数,选择需要的函数调用即可。
STM32CubeMX 4 解锁UART模块_第7张图片
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
这里的头两个函数,带timeout的,是程序一直在等,等到接受到数据或者超出时间之后运行其他的代码。
我使用后两个函数。
STM32CubeMX 4 解锁UART模块_第8张图片

先定义几个字符串。
然后调用函数:
STM32CubeMX 4 解锁UART模块_第9张图片

build,没有error;download, 完毕。

找一根USB转TTL的线(串口线),用电脑测试是否好使。
串口线的TX接PB11(stm32的RX),串口线的RX接PB10(stm32的TX),接地。

打开随便一个串口调试助手。
每按一次复位键,都会有一个chongzi出现在窗口中。
STM32CubeMX 4 解锁UART模块_第10张图片

Send data 1234567 之后就会有while1里面的received了。
STM32CubeMX 4 解锁UART模块_第11张图片

最后看一看硬件设备吧~
STM32CubeMX 4 解锁UART模块_第12张图片

奇怪的点:当我把下载器拔掉之后,电脑就收不到串口的数据了,插上就又能收了。。。。。。诡异得不行。。。。怀疑是共地之类的问题。

你可能感兴趣的:(工具调试笔记)