●共分为五部分:
(一)相关知识
(二)硬件原理
(三)软件API
(四)调用方法
(五)实验现象
●相关知识:
1.UART是最常用的一种串行通讯接口,通常转换为RS232电平连接至计算机实现调试信息的输出。
2.本例中使用MAX3232将STM32F032的TTL电平UART转换为RS232电平,外接USB转串口(RS232)线,实现串口至PC的数据发送与接收 。
●硬件准备:
1.Wolf32F031 自由 评估板
2.电源适配器
3.JLink/ULink/STLink(本文以STLink为例)
4.USB转串口(RS232)
●硬件原理框图:
●硬件原理图:
●软件资源准备:
UART Control工程文件:
wolf32f031_UART.uvproj
●软件API介绍:
变量介绍:
接收到数据标志,该标志为TRUE,说明接收到数据
uint8_t Rx_flag;
接收数据缓冲数组, 接收到的数据存储到该数组
uint8_t RxBuffer[RXBUFFERSIZE];
可接收数据最大长度,如果接收到数据超过该数值未被读取,不再接收新数据
uint8_t NbrOfDataToRead;
接收数据字节数
uint16_t RxCounter;
函数介绍:
//Init usart port
void board_usart_init(USART_InitTypeDef* USART_InitStruct);
//Enable usart RX
void wolf_usart_RX_enable(void);
//Send data
printf() function as standard C.
●调用方法:
初始化UART,参数填写到USART_InitStructure
board_usart_init(&USART_InitStructure);
输出字符串
printf(“Hello edreamtek.\r\n");
if(Rx_flag) //检查是否接收到数据
{
for(i=0;i<RxCounter;i++) //将接收到的数据发回去
{
printf("%c",RxBuffer[i]);
}
Rx_flag = FALSE; //手动清除标志
RxCounter = 0;
}
●实验现象
3.1硬件连接实物
3.2编译代码并下载
打开code\1.basic\UART_Txpoll_RXinterrupt\Project\wolf32f031_UART
.uvproj,编译并下载工程。
3.3下载完成后,确认连接好串口,打开DNW,选择好相应串口,设置波特率为115200,给评估板上电,观察DNW接收数据,点击键盘上任意字符键,观察DNW接收数据。