因为竞赛的需要,需要用这款单片机,也下了例程,但发现使用串口通信发回数据到上位机的时候怎样都会出错
然后设置断点观察,就是下面 S2BUF = ch 这个语句有问题!当数值传到变量ch的时候还是对的,一经过这个赋值语句SBUF寄存器里面就变成别的数值了!百思不得其解!换另一个串口寄存器也是一样,难道是这款单片机的SBUF寄存器有问题么?请大神赐教
void uart2_putchar(unsigned char ch)
{
while (busy); //等待前面的数据发送完成
busy = 1;
S2BUF = ch; //写数据到UART数据寄存器
while(!(S2CON & S2TI));
S2CON &= ~S2TI; //清除S2TI位
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>