stm32中断问题

[复制链接]
2052|2
 楼主| xuyunboba 发表于 2011-5-24 11:03 | 显示全部楼层 |阅读模式
stm32中,打开特定的中断,为什么就一定进入对应的中断子函数?它们是怎样对应起来的?
yzzly 发表于 2011-5-24 11:25 | 显示全部楼层
例如:
初始化USART1中断
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;         //****************
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
USART1中断服务函数
void USART1_IRQHandler(void)                                                                        //USART1中断
{
        Uint08 RxdData;
        if((USART1->SR & 0x20)&&(UART1_RxNEIE))                                                //接收中断
        {
                RxdData=USART_ReceiveData(USART1);                                                //读接收数据
        }
        if((USART1->SR & 0x80)&&(UART1_TxEIE))                                                //发送寄存器空中断
        {   
                USART1->DR = 0x55;
/*                RxdData=USART1->SR;
                if(Txd1_Cnt<Txd1_len)
                {
                        USART1->DR = *Txd1_point++;
                        Txd1_Cnt++;
                }
                else
                {
                        USART1->CR1=USART1->CR1 & (~0x80);                                        //禁止USART1的发送缓冲寄存器空中断
                }   
*/        }
}
语句NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;中的USART1_IRQChannel必须与中断服务函数名对应
 楼主| xuyunboba 发表于 2011-5-24 11:43 | 显示全部楼层
USART1_IRQChannel必须与中断服务函数名对应? 哪里有说明它们是对应的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

84

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部