硬石YS-F4Pro开发板UART开发操作步骤

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硬石YS-F4Pro开发板UART开发操作步骤开发板:硬石YS-F4Pro
1.新建文件夹
2.打开STM32cubeMX,新建一个工程,
3.选择使用的单片机型号,并开始工程
4.配置串口UART1
5.cubeMX默认把串口1的收发接到了,PA10和PA9。

需要手动选择串口1的位置。

6.配置为异步通信模式
7.根据开发板原理图配置引脚Pinout
8.配置外接晶振为高速时钟
9.如果已经选择HSE为外接晶振,则不需要在端口上继续选择IO的功能。

10.配置时钟树
11.设置uart参数
12.使能中断
13.设置工程保存路径
14.生成工程
15.直接打开工程
16.打开main.c,开始编写应用程序,打开stm32f4xx_it.c,把USART1的全局中断放进
main.c,因为中断函数里面用了main.c里面的数组。

17.在while(1)里面增加以下代码
switch(HMI_Rx_buf[0])
{
case 0x01:
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_9, GPIO_PIN_SET);
USART1->DR=0X01;
while(__HAL_UART_GET_FLAG(&PEAK_uart, UART_FLAG_TXE) == RESET);
HMI_Rx_buf[0]=0X03;
break;
case 0x02:
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_9, GPIO_PIN_RESET);
USART1->DR=0X02;
while(__HAL_UART_GET_FLAG(&PEAK_uart, UART_FLAG_TXE) == RESET);
HMI_Rx_buf[0]=0X03;
break;
}
18.在全局中断函数里面添加以下代码
HAL_UART_IRQHandler(&PEAK_uart);
uint16_t tmp;
if(__HAL_UART_GET_FLAG(&PEAK_uart, UART_FLAG_RXNE) != RESET)
{
tmp=USART1->DR;
HMI_Rx_buf[0]=tmp;
}
19.增加变量的定义
UART_HandleTypeDef PEAK_uart;
#define HMI_RX_BUFFER_SIZE 1
/* 私有变量------------------------------------------------------------------*/
__IO uint8_t HMI_Rx_buf[HMI_RX_BUFFER_SIZE]={0};
UART_HandleTypeDef husart_debug;
20.static void MX_USART1_UART_Init(void) 里面的
haurt1换成PEAK_uart,这里不用换也行,意思就是所有的结构体UART_HandleTypeDef要么叫haurt1,要么叫PEAK_uart。

haurt1是cubeMX生成的名称。

21.打开中断
__HAL_UART_ENABLE_IT(&PEAK_uart, UART_IT_RXNE);
没想到这里竟然是两道短横线。

22.编译,make,下载调试
23.全速运行观察现象,通过串口以十六进制发01,灯亮,并返回十六进制的01,通
过串口以十六进制发02,灯灭,并返回十六进制的02。

相关文档
最新文档