串口中断服务函数void USART1_IQRHandler(void)
{
if(USART_Ge
tiTStatus(USART1,USART_IT_RXNE)!=RESET)
{
GPIO_SetBits(GPIOA,GPIO_Pin_0);
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
}
主函数
int main(void)
{
NVIC_Configuration();
USART1_Config();
while(1);
}
配值函数
USART_InitStructure.USART_BaudRate =9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure); //填充完结构体,调用库函数USART_Init()向寄存器写入配置参数。
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开接收中断
USART_Cmd(USART1, ENABLE);
为什么我一开串口调试工具灯就灭了,我还没发数据灯就没了,而且一打开串口灯又亮了pa1.0 不知道咋回事
评分
查看全部评分
看看程序的其他地方有没有使用p1.0口的led灯的,看看原理图led是高电平亮还是低电平亮,在中断里翻转led状态,。。。。
’灭了‘和’没了‘是不是都是指不亮了?’而且一打开串口灯又亮了‘如何打开?
灯是PA0低电平亮还是高电平亮?
如果你在中断例程里面没有将引起中断的状态位清零,你中断一返回,马上就会又产生中断,就死在中断里面了!应该最后这句对你有用
把这句话注释掉 看看有什么现象
一周热门 更多>