新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2020-3-28
- 在线时间
- 4 小时
|
1金钱
初学stm32,想使用uart.c里面的直接把中断控制逻辑写在中断服务函数内部的USART1_IRQHandler函数,其他地方是不是也要修改?我把函数HAL_UART_Receive_IT给注释掉了,添加函数__HAL_UART_ENABLE_IT,现在收不到数据;哪位大侠知道?
void uart_init(u32 bound)
{
//UART 初始化设置
UART1_Handler.Instance=USART1; //USART1
UART1_Handler.Init.BaudRate=bound; //波特率
UART1_Handler.Init.WordLength=UART_WORDLENGTH_8B; //字长为8位数据格式
UART1_Handler.Init.StopBits=UART_STOPBITS_1; //一个停止位
UART1_Handler.Init.Parity=UART_PARITY_NONE; //无奇偶校验位
UART1_Handler.Init.HwFlowCtl=UART_HWCONTROL_NONE; //无硬件流控
UART1_Handler.Init.Mode=UART_MODE_TX_RX; //收发模式
HAL_UART_Init(&UART1_Handler); //HAL_UART_Init()会使能UART1
__HAL_UART_ENABLE_IT(&UART1_Handler, UART_IT_RXNE);
//HAL_UART_Receive_IT(&UART1_Handler, (u8 *)aRxBuffer, RXBUFFERSIZE);//该函数会开启接收中断:标志位UART_IT_RXNE,并且设置接收缓冲以及接收缓冲接收最大数据量
}
|
|