在用串口调试的时候,发数据在串口上显示,全速运行时有些数据没有显示出来,但一步一步仿真的时候就能显示出来,这是为什么呢??
LZ注意下发送循环计数变量和发送中断标记是不是用的不对
发送程序最好加些延时或这样写
void transmit(int wei,unsigned char *date)
{
int i=0;
while(i<wei)
{
while ((IFG1 & UTXIFG0) == 1); // USART1 TX buffer ready?
TXBUF0 = date[i];
i++;
}
}
对,加一句while ((IFG1 & UTXIFG0) == 1); 可能你发送的太快串口发送缓存还没发完,数据就被覆盖了