- void main(void)
- {
- nRF905Init();
- Config905();
- InitUART();
- while(1)
- {
- if(tmp=='*')
- {
- BELL = 0; //蜂鸣器,调试用
- delay(50);
- BELL = 1;
-
- for(i=0;i<10;i++)
- {
- TxRxBuf[i] = JD[i]; //把数据送给发送缓冲
- }
- TX(); //发送数据
- }
- }
- }
复制代码简单来说,是A机的串口接收到GPS数据后,发送给B机。
上面这种情况,能收到数据,蜂鸣器响。
可是,当我把发送数据的程序放到串口中断时(如下所示),就只有蜂鸣器响,而B机没有收到数据。
- //串口中断程序
- void ser_int (void) interrupt 4 using 1
- {
- //以上为省略
-
- if(tmp=='*')
- {
- BELL = 0; //蜂鸣器,调试用
- delay(50);
- BELL = 1;
-
- for(i=0;i<10;i++)
- {
- TxRxBuf[i] = JD[i]; //把数据送给发送缓冲
- }
- TX(); //发送数据
- }
- }
复制代码
这个时候,蜂鸣器响了,可是为什么B机却没有收到数据呢?求助大神!
中断里面的发送程序不是用串口,用的SPI哦
一周热门 更多>