听说中断里面容易被优化,要加volatile,串口中断里需要用到数据,在外面定义一个数组。
volatile unsigned char xdata Rx_Buff[10];
这样就没问题,但是换成
volatile xdata unsigned char Rx_Buff[10];
就报错,SOURCE\API_COMM.C(131): error C141: syntax error near 'unsigned'
想知道这里的顺序是如何排列的?编译器如何识别错误的排列次序?
如果是指针,那么XDATA的位置确实会影响存储的位置。
xdata int data *p;
is a pointer (stored in xdata) that points to an integer (stored in data).
如果是数组呢?
|