大家帮我看看,我这个函数有什么问题,我先定义了一个200个字节数组,然后让中断接受3个数据并发送中间那个数据,但是串口助手没有收到数据,
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //延时初始化
uart_init(115200); //串口初始化波特率为115200
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
if(STA==1)
{
USART_SendData(USART1, REC[1]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
STA=0;
}
void USART1_IRQHandler(void) //串口1中断服务程序
{ u8 a=0;
u8 j=0;
if(USART_GetITStatus(USART1, USART_IT_RXNE)!= RESET) //接收中断
{
if(STA==0)
{
a=USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
REC[j]=a;
j++;
if(j==2)
{
STA=1;
j=0;
}
else STA=0;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>