我有两个中断,一个是uart_interrupt,一个是i2c_interrupt。前者优先级高于后者。我在main中定义一数组volatile int buf[8],我的本意是:如果i2c_interrupt中断来,则接收的数据会写满buf,我再在main函数中去读buf;有时我也要在main函数中写buf,按后在i2c_interrupt中断中把数据发出去。
我发现在接收情况时,buf数组无**常传递数据到main函数中去。具体写法如下:
buf[i]=(接收的数据); i++; // 接收数据的个数小于8
如果我换个写法:(这样又能正确把数据传到main函数中去)!!!
buf[0]=(接收的数据0);
buf[1]=(接收的数据1);
buf[2]=(接收的数据2);
求指教!!! |