TI中文支持网
TI专业的中文技术问题搜集分享网站

28377 controlsuite例程问题

我修改了28377的sci例程,请大神看一下程序是否有问题,sci发送没有问题,但接收时每次只能接收一位,其他位不是错的,就是乱码。

附件是我改的程序,在线等。

neal lee:

附两张图希望能吸引大神看过来

我修改了28377的sci例程,请大神看一下程序是否有问题,sci发送没有问题,但接收时每次只能接收一位,其他位不是错的,就是乱码。

附件是我改的程序,在线等。

Joey Mao:

回复 neal lee:

SCI接收和发送都是8位数据,你发任意一个ASCII字符都没有问题,但是像你发的pg这就是字符串了,需要改代码,接收要做判断,一次接收一位,发送也只能一位一位发送。

我修改了28377的sci例程,请大神看一下程序是否有问题,sci发送没有问题,但接收时每次只能接收一位,其他位不是错的,就是乱码。

附件是我改的程序,在线等。

neal lee:

回复 Joey Mao:

对不起回复晚了,我的程序里对读字符的函数定义的循环如下:

 do            {

                     ReceivedChar = ScicRegs.SCIRXBUF.all;

                // Echo character back

                scia_xmit(ReceivedChar);            

     GpioDataRegs.GPBSET.bit.GPIO56=1;            

          i++;

         }while(ScicRegs.SCIFFRX.bit.RXFFST != 0);/**/                  LoopCount++;           }

我觉的这里的判断应该是正确的,同样的例子在28335里用过。关于字和字符的问题还希望能帮我指下是哪个量的问题,谢谢!

我修改了28377的sci例程,请大神看一下程序是否有问题,sci发送没有问题,但接收时每次只能接收一位,其他位不是错的,就是乱码。

附件是我改的程序,在线等。

Joey Mao:

回复 neal lee:

你的代码并没有错,只是SCIRXBUF寄存器是低八位有效,其范围不能超过255,你发任意的单个字符,查ASCII表它的值都不超过255,但是两个及两个以上的字符例如你发的pg就会溢出了,你的截图中也显示收到的变成0x00FF了

我修改了28377的sci例程,请大神看一下程序是否有问题,sci发送没有问题,但接收时每次只能接收一位,其他位不是错的,就是乱码。

附件是我改的程序,在线等。

neal lee:

回复 Joey Mao:

这个程序原来是232上用的,现在在485上用。程序代码几乎没变,用232时候也是用SCIRXBUF接收,然后用循环程序输出。这是232结果,我觉的485一样才对

谢谢大神,希望能再看看。

赞(0)
未经允许不得转载:TI中文支持网 » 28377 controlsuite例程问题
分享到: 更多 (0)