1 UART输入输出是开发板开发及调试过程中不可缺少的过程,也是很多外设进行交互通讯的必须接口。
APM32F411需要进行开发首先需要正确配置接口,在通讯端,选择电脑端可以选择putty这个软件,然后配置通讯速率115200bps,
点击open就显示会话界面
2 然后创建一个MDK工程,这个可以从现有的范例中选择,需要选择CMSIS DAP作为下载器,这时可以看到,能够与内核通讯成功,
3 代码的编写,
3.1 这里使用的是USART1,这个端口和板载调试器的芯片连接,转换成USB的虚拟串口,对应的引脚是
- TX:PA9, RX:PA10
内置的波特率,以及配置如下
- BaudRate = 115200 baud
- Word Length = 8 Bits
- One Stop Bit
- No parity
- Hardware flow control disabled (RTS and CTS signals)
- Receive and transmit enabled
3.2 需要引用头文件,
#include "apm32f4xx_usart.h"
然后对应配置端口配置
USART_Config_T usartConfigStruct;
/* USART configuration */
USART_ConfigStructInit(&usartConfigStruct);
usartConfigStruct.baudRate = 115200;
usartConfigStruct.mode = USART_MODE_TX_RX;
usartConfigStruct.parity = USART_PARITY_NONE;
usartConfigStruct.stopBits = USART_STOP_BIT_1;
usartConfigStruct.wordLength = USART_WORD_LEN_8B;
usartConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
这个正是上面提到的参数配置,这个参数可以根据需要修改,
然后执行就比较简单了,使用
printf("Hello APMF411 from 21ic");
显示如下,
实际上,这个printf是调试转义定义的,其实实现这个功能的是
USART_TxData(DEBUG_USART, (uint8_t)ch);
也是用USART进行直接的缓冲区数据刷新和写入实现的。
4 小结
关于USART的使用,是三步走,第一步,确定通信端口和通讯参数,第二步,定义和配置参数,第三步,直接运用USART的读写名令直接读写。
上述的例子显示的是USART1,这个APMF411还有其他端口可以定义USART2等,实现多串口轮询等不同的功能。
|