先打开设置界面:
我想使用UART3口,想使用的引脚是PB10 和PB11(非默认引脚,所以要在引脚上设置,如果在左边configuration设置就会是默认引脚了)。
选完发现是黄的,之后配置左边的uart3,选择异步通信。
选完就发现是绿的了。
双击UART3弹出configuration的设置界面。
这边就是熟悉的参数设置了,波特率什么的。
然后要enable 全局中断(理解成所有关于UART3的中断即可?)
还可以配置成DMA传送数据,下一篇讲这个。
至此,在CubeMX中的设置都结束了。
generate code
打开之后先编译一下。
然后在uart的.h文件中的靠后部分可以看见IO口的操作函数,选择需要的函数调用即可。
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的,是程序一直在等,等到接受到数据或者超出时间之后运行其他的代码。
我使用后两个函数。
先定义几个字符串。
然后调用函数:
build,没有error;download, 完毕。
找一根USB转TTL的线(串口线),用电脑测试是否好使。
串口线的TX接PB11(stm32的RX),串口线的RX接PB10(stm32的TX),接地。
打开随便一个串口调试助手。
每按一次复位键,都会有一个chongzi出现在窗口中。
Send data 1234567 之后就会有while1里面的received了。
最后看一看硬件设备吧~
设计资源 培训 开发板 精华推荐
- EZRADIO Si4455 双向和 Si4012/Si4355 单向链路开发套件
- 使用 Broadcom Inc 的 HCPL-3120 的参考设计
- 使用 NXP Semiconductors 的 PCF8598C-2P 的参考设计
- LT8500EUHH 演示板,具有 PWM 发生器和串行接口的 48 通道 LED 驱动器
- OP297FSZ精密电流泵运算放大器的典型应用
- TEA2017 PFC + LLC谐振电源开发套件
- LTC1538IG-AUX 高效 5V/3A、3.3V/3.5A、12V/0.2A 降压转换器典型应用电路
- EVAL-ADXRS645Z,用于评估 ADXRS645 高温、抗振 ±2000 度/秒陀螺仪的评估板
- MIC5308 具有超低 IQ 的低 V IN /V OUT 150mA 高 PSRR ULDO 的典型应用
- Si5355-EVB,用于 Si5355 1-200 MHz、四频、8 路输出时钟发生器的评估板