我正在使用 PIC18F 并尝试通过超级终端发送数据。当我通过每半秒按下一个键以慢速发送数据时,它会接收数据并正确回显它,但是当我开始以更快的速度按下键时,MCU 会锁定。不知道是什么原因造成的。
while(index<length){
while(PIR1bits.RCIF==0); // Wait till char recieved
sendData(str2,9); // confirm reception
Delay1KTCYx(5); //delay because without it, it messes up.
rxData[index]= RCREG; //char array
index++;
}
在 PIC 和超级终端上,波特率都是 2400。
这是我们的接收循环。sendData 只是我们发送说“已收到”的调试代码。这就是我们知道它何时冻结的方式。
它不会每次都以相同数量的循环冻结,这仅取决于我们输入数据的速度。