●共分为五部分:

(一)相关知识

(二)硬件原理

(三)软件API

(四)调用方法

(五)实验现象


●相关知识:

1.UART是最常用的一种串行通讯接口,通常转换为RS232电平连接至计算机实现调试信息的输出。

2.本例中使用MAX3232将STM32F032的TTL电平UART转换为RS232电平,外接USB转串口(RS232)线,实现串口至PC的数据发送与接收 。


●硬件准备:

1.Wolf32F031 自由 评估板

2.电源适配器

3.JLink/ULink/STLink(本文以STLink为例)

4.USB转串口(RS232)


●硬件原理框图:

基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)_调用方法

●硬件原理图:

基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)_STM32F	  STM32F0	  S_02

●软件资源准备:

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硬件连接实物

基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)_数组_03

3.2编译代码并下载

打开code\1.basic\UART_Txpoll_RXinterrupt\Project\wolf32f031_UART

.uvproj,编译并下载工程。

基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)_调用方法_04

3.3下载完成后,确认连接好串口,打开DNW,选择好相应串口,设置波特率为115200,给评估板上电,观察DNW接收数据,点击键盘上任意字符键,观察DNW接收数据。


基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)_调用方法_05