使用dspf2812 发送一串十六进制数据
一个比较简单的方法就是,直接发送,如下:
SciaRegs.SciATXBUF=0X68;
SciaRegs.SciATXBUF=0X04;
SciaRegs.SciATXBUF=0X00;
SciaRegs.SciATXBUF=0X03;
SciaRegs.SciATXBUF=0X07;
寄存器的符号写的不一定对,你可以查下资料。
由于发送只有16级缓冲,如果你想发送更多的数据时,需要在中间加上延时程序。这个例子中的5个数据就不用加延时了。
大神,这电子罗盘是要收到一串的十六进制6804000307后才会返回数据,用串口调试助手的时候要在发送框中输入一串数据发送才行,这样分开发送就像在发送框中写个68就发送,然后接着写,这样发送的方法能行么,新手望指导!
串口调试助手发送数据也是一帧一帧的发送啊,不可能一下子一串数据啊,二楼的方法是正解!
我用二楼大哥的方法试了不行啊,用watchwindow看的时候SciaRegs.SCITXBUF分别收到的数据为0x0068,0x0004,0x0000,0x0003,0x0007,但是进不了接收中断,SciaRegs.SCIRXST.bit.RXRDY一直为0,电子罗盘就没有返回数据,,,要哭了!
DSP的串口没有进入接收中断可能有两种原因:1、软件程序(接收中断部分程序)没有设置正确,2、DSP与电子罗盘的硬件连接是否正确?两者之间需要加电平转换芯片。
大哥,已经能通讯了,现在有个问题就是我正确连好电子罗盘后,上电,第一次运行程序的时候没有什么反应,但是我把电子罗盘的口拔下来重新插一下再加载原来的输出文件,再次运行程序就能行了,几乎每次都是这样,这是什么情况,能保证第一次电子罗盘是正确连上的