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

来源:互联网 发布:电子政务系统源码 编辑:程序博客网 时间:2024/05/19 23:28

●共分为五部分:

(一)相关知识
(二)硬件原理
(三)软件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 Txpoll RX interrupt1.png

●硬件原理图:

UART Txpoll RX interrupt2.png

●软件资源准备:

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

UART Txpoll RX interrupt3.JPG

3.2编译代码并下载

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

.uvproj,编译并下载工程。

UART Txpoll RX interrupt4.png

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

 

UART Txpoll RX interrupt5.png



依梦科技,或许可以帮到你

0 0