我的代码里main.c是一个函数,然后中断又单独写了一个interrupt.c函数,在interrupt.c里面有个串口接收程序,然后在interrupt.c里面定义的串口全局接收数组,在接收中断里都正确收到数据了,然后我在main.c里面使用extern unsigned char Rx_Data[40]这种方式来引用接收数组,然后发现数据传不过来,中断函数里能收到的数据,到了主函数,就像完全没有接收到一样,是我的数组定义方式不对,不符合CCS自己的规范吗
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我的代码里main.c是一个函数,然后中断又单独写了一个interrupt.c函数,在interrupt.c里面有个串口接收程序,然后在interrupt.c里面定义的串口全局接收数组,在接收中断里都正确收到数据了,然后我在main.c里面使用extern unsigned char Rx_Data[40]这种方式来引用接收数组,然后发现数据传不过来,中断函数里能收到的数据,到了主函数,就像完全没有接收到一样,是我的数组定义方式不对,不符合CCS自己的规范吗
感觉还是你的程序逻辑不严谨导致的
1.总觉得下面这句不严谨,应该加上大括号
if(SCIB->Rx_Data[8] == 10) LED3 = ~LED3; SCIB->Rx_End = 1;
2.可以在中断中加入判断,只有SCIB->Rx_End为0的时候才进行数据的接收。