一建立STM32CubeMX工程1.建立新工程,选择芯片STM32F302CCTx2. 在Pinout 中时钟配置为高速外部时钟, UART配置为异步通信, Cube 会自动分配引脚。3.Clock Configuration 中配置如下4.configuration 中点击USART1可进入配置在USART1 configuration 中Parameter Settings 可以配置波特率,发送数据字长,奇偶校验位和停止位等。NVIC Setting 可以配置中断优先级。5.生成keil 软件代码点击工具栏中的齿轮按钮,可以选择代码的开发平台, ok 结束。(文件保存路径一定要是全英文的)进过了我们一系列的配置, Cube 会为我们自动生成keil 软件的代码,代码中包括工程所需的固件库,配套的头文件,启动文件及用户文件。在main.c 中包括了我们工程所需外设的初始化,包括了系统时钟初始化,中断初始化, GPIO初始化, USART1初始化, HAL库初始化。我们只需要在main.c 中添加我们自己的代码就可以了。二keil 软件代码及HAL库使用UART_HandleTypeDef huart1;生成的代码中有声明一个USART处理的结构体HAL库中串口的数据收发有四个函数HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);指针huart 指向我们之前定义的USART处理结构体, 我们将在函数中对结构体中的参数进行操作。pDate 是我们自己定义的数据发送接收缓存, Size 发送接收数据个数, Timeout 超时持续时间。UART状态的结构体:我们在发送接收函数中要经常对USART的状态进行判断,以便我们对函数结构体中的参数进行操作
标签:
stm32Cubemx
串口
上传时间:
2022-06-22
上传用户:shjgzh