完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32CubeMX配置
STM32CubeMX版本:4.27.0 配置流程: Pinout界面选择并开启串口外设 Clock Configuration配置时钟树 Configuration界面配置Connectivity与System 生成工程 Pinout配置 该界面用于配置串口与映射引脚 Clock Configuration配置 用于配置系统时钟与外设的时钟 Configuration 左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等) 右侧是系统及外设模块的具体配置 USART 主要配置波特率、停止位、校验位(注:波特率的可选范围与其时钟频率相关) 是否开启中断 映射的IO配置 NVIC 设置串口的中断向量组、中断的抢占优先级、子优先级 生成USART1的中断代码 生成USART1的中断代码 代码部分 中断响应流程: //stm32h7xx_it.c void USART1_IRQHandler(void) //stm32h7xx_hal_uart.c void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) //stm32h7xx_hal_uart.c static HAL_StatusTypeDef UART_Receive_IT(UART_HandleTypeDef *huart) //stm32h7xx_hal_msp.c void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) main.c 每次需要执行 HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 1 函数才能正常产生RX中断。并且每次接收到uint16_t Size个字节后会自动关闭。需要重新执行此函数 /* USER CODE BEGIN 0 */ unsigned char buffer[1024*10]; /* USER CODE END 0 */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART1_UART_Init(); /* Initialize interrupts */ MX_NVIC_Init(); /* USER CODE BEGIN 2 */ HAL_UART_Receive_IT(&huart1, buffer, 1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_Delay(200); HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0); if(huart1.RxState == HAL_UART_STATE_READY) HAL_UART_Receive_IT(&huart1, buffer, 1); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ } stm32h7xx_it.c /* USER CODE BEGIN 0 */ extern unsigned char buffer[]; /* USER CODE END 0 */ /* USER CODE BEGIN 1 */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { HAL_UART_Transmit(huart,buffer,huart->RxXferSize,1000); } /* USER CODE END 1 */ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1909 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1678 浏览 1 评论
1171 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
770 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1730 浏览 2 评论
1970浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
807浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
254浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
624浏览 3评论
634浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 17:25 , Processed in 0.627187 second(s), Total 42, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号