2019-07-20 08:35发布
HXYDJ 发表于 2018-4-19 09:49 接收中断里面没有清标志位
welcomeplay 发表于 2018-4-19 10:19 这一行改一下 USART_SendData(USART1,rx_buf[num]); 另外我想数据随便发,但是我只想收前8 个数据
最多设置5个标签!
recvFlag=0,清标志位
uint8_t rx_buf[1024];
uint16_t num=0;
uint8_t recvFlag = 0;
uint8_t i;
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
rx_buf[num++]=USART_ReceiveData(USART1);
if(num>7)
{
num=0;
recvFlag=1;
}
}
}
int main(void)
{
uint16_t i;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init();
My_USART1_Init();
while(1)
{
if(recvFlag){
recvFlag=0;
for(i=0;i<8;i++){
USART_SendData(USART1,rx_buf[i++]);
delay_ms(5);
}
}
}
}
我改了一下还是这样
一周热门 更多>