初级会员

- 积分
- 52
- 金钱
- 52
- 注册时间
- 2018-9-20
- 在线时间
- 17 小时
|
5金钱
中断中的程序如下:
void USART1_IRQHandler(void)
{
u8 ras,rbs,rcs;
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
ras= USART_ReceiveData(USART1);
rbs= USART_ReceiveData(USART1);
rcs= USART_ReceiveData(USART1);
USART_SendData(USART1,0x49);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
USART_SendData(USART1,ras);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
USART_SendData(USART1,0x48);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
USART_SendData(USART1,rbs);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
USART_SendData(USART1,0x50);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
USART_SendData(USART1,rcs);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
}
}
int main(void)
{
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
My_USART1_Init();
while(1);
}
发送1与12与想的一样,之后发送123以及1234直到123456都与发送12的结果一样,到1234567的时候才会把7的内容显示出来。
一个中断函数中接受两个数据会有怎么得结果?
|
|