STM32 UART2 中断函数的写法
2015-04-17 09:09
204 查看
void USART2_IRQHandler(void)
{
uchar tmp;
//接收中断
if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) // 接收 中断
{
USART_ClearITPendingBit(USART2,USART_IT_RXNE); // U1RX_Clear_Intr_Status_Bit;
tmp=USART_ReceiveData(USART2);
}
//USART_IT_TXE // 发送中断
if( USART_GetITStatus(USART2, USART_IT_TXE) == SET ) //一个是TXE=发送数据寄存器空,
{
if(TIndex2 < TCount2)
{
USART_SendData(USART2, TxBuf2[TIndex2++]);
}
else if(TIndex2 == TCount2)
{
USART_SendData(USART2, 0x0D);
TIndex2 ++;
}
else
{ // 因为是 发送寄存器空 的中断,所以发完字符串后必须关掉,
// 否则只要空了,就会进中断 //送數據寄存器空標志位
//fTransmission_Complete=1;
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
//DIS_485TX(); 为避免提前关闭,导致的发送不全.移至 外部Timer中控制.
}
}
//溢出-如果发生溢出需要先读SR,再读DR寄存器 则可清除不断入中断的问题
if(USART_GetFlagStatus(USART2,USART_FLAG_ORE)==SET)
{
USART_ClearFlag(USART2,USART_FLAG_ORE); // 读SR
USART_ReceiveData(USART2); // 读DR
}
}
转自 iamwei
{
uchar tmp;
//接收中断
if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) // 接收 中断
{
USART_ClearITPendingBit(USART2,USART_IT_RXNE); // U1RX_Clear_Intr_Status_Bit;
tmp=USART_ReceiveData(USART2);
}
//USART_IT_TXE // 发送中断
if( USART_GetITStatus(USART2, USART_IT_TXE) == SET ) //一个是TXE=发送数据寄存器空,
{
if(TIndex2 < TCount2)
{
USART_SendData(USART2, TxBuf2[TIndex2++]);
}
else if(TIndex2 == TCount2)
{
USART_SendData(USART2, 0x0D);
TIndex2 ++;
}
else
{ // 因为是 发送寄存器空 的中断,所以发完字符串后必须关掉,
// 否则只要空了,就会进中断 //送數據寄存器空標志位
//fTransmission_Complete=1;
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
//DIS_485TX(); 为避免提前关闭,导致的发送不全.移至 外部Timer中控制.
}
}
//溢出-如果发生溢出需要先读SR,再读DR寄存器 则可清除不断入中断的问题
if(USART_GetFlagStatus(USART2,USART_FLAG_ORE)==SET)
{
USART_ClearFlag(USART2,USART_FLAG_ORE); // 读SR
USART_ReceiveData(USART2); // 读DR
}
}
转自 iamwei
相关文章推荐
- STM32 BootLoader跳转APP跑飞 可能是因为找不到某些中断函数入口
- 中断服务函数的写法
- 单片机入门学习九 STM32单片机学习六 延时函数、端口复用和重映射、中断
- 3.STM32中对EXTI_PE5_Config()函数的理解(自定义)之中断控制按键LED
- 嵌入式软件-STM32串口中断函数
- STM32 USB部分中断函数简要分析
- STM32使用freertos时在中断中调用系统函数的注意点
- MAX32630/MAX32625学习:UART串口初始化、发送函数,接收中断及实验(绝对实用)
- 【转】C51中断函数的写法
- stm32中断函数名(v3.5)
- LWIP network interface 即 LWIP 的 硬件 数据 接口 移植 首先 详解 STM32 以太网数据 到达 的第一站: ETH DMA 中断函数
- STM32串口悬空导致CPU持续进入中断函数
- STM32 中断相关函数学习
- stm32中中断源名和中断处理函数名所在位置
- STM32 NVIC嵌套向量中断控制器函数分析
- 第十二章:STM32是如何进入中断函数xxx_IRQHandler的
- STM32接收中断服务函数打印函数会造成错误
- STM32共用中断和共用中断函数的判断
- stm32中断服务函数的机制
- STM32中断入口地址与中断服务函数的关系