现在跳出来一个BUG,发现问题出现在//注释上,因为我的源代码是从老版本的IAR拷过来的,请问是不是真的会因为IAR软件编码方式的不同造成莫名其妙的问题。
user5281211:
上面是我的猜测,我现在遇到的问题是这样。我在Home1.2.2a里头用协议栈默认个的串口通过DMA传输数据。但是有个问题是每次重新上电之后CC2530就会给我串口发一串不知道是什么来的代码(FE 06 41 80 01 02 00 02 06 03 C3),每次都一样。然后才会正常开始通过DMA传输数据。后面我不断调试找到了问题是因为在Zmain里头调用了我自己写得硬件初始化函数
void InitUart()
{P0SEL &=0xCF;// 1100 1111P0DIR |=0x30;//0011 0000P1SEL &=0xDF;// 1101 1111設置控制LED3的P1_5為輸出P1DIR |=0x20;//0010 0000P0_4 =0;P0_5 =0;
}
当我把这段代码删掉后,不会再出现前面所说的问题了,但是串口也无法正常工作了,请问是为什么?
YiKai Chen:
回复 user5281211:
FE 06 41 80 01 02 00 02 06 03 C3這個是MT/ZNP command的SYS_RESET_IND,因為你初始了串口然後compile option裡面預設應該有MT_TASK所以他會從串口发這一串SYS_RESET_IND代码
user5281211:
回复 YiKai Chen:
我能把这段注释掉吗?
YiKai Chen:
回复 user5281211:
你是指那段注释掉?
user5281211:
回复 YiKai Chen:
就是初始化串口代的这段HalWrite(FE……)
YiKai Chen:
回复 user5281211:
看看要不要直接把MT_TASK從compiler option拿掉
Susan Yang:
回复 user5281211:
当预编译了将MT_TASK 后,在zigbee协议栈启动过程中输出一些信息,即启动过程中的UART输出。您可以将MT_TASK 修改为xMT_TASK。