使用dspf2812 发送一串十六进制数据

2019-07-15 20:07发布

我想用f2812 发送一串十六进制数据如 6804000307 给电子罗盘,电子罗盘要收到这一整串十六进制的数据后才返回信息,具体该怎么弄啊,以前没接触过dsp,是该把这一串数据存入数组中,还是怎么的。。新手求指导!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
diudiu1987
1楼-- · 2019-07-16 00:10
一个比较简单的方法就是,直接发送,如下:
SciaRegs.SciATXBUF=0X68;
SciaRegs.SciATXBUF=0X04;
SciaRegs.SciATXBUF=0X00;
SciaRegs.SciATXBUF=0X03;
SciaRegs.SciATXBUF=0X07;
寄存器的符号写的不一定对,你可以查下资料。
由于发送只有16级缓冲,如果你想发送更多的数据时,需要在中间加上延时程序。这个例子中的5个数据就不用加延时了。
tjubd
2楼-- · 2019-07-16 06:00
大神,这电子罗盘是要收到一串的十六进制6804000307后才会返回数据,用串口调试助手的时候要在发送框中输入一串数据发送才行,这样分开发送就像在发送框中写个68就发送,然后接着写,这样发送的方法能行么,新手望指导!
slayersliu00
3楼-- · 2019-07-16 08:26
串口调试助手发送数据也是一帧一帧的发送啊,不可能一下子一串数据啊,二楼的方法是正解!!
tjubd
4楼-- · 2019-07-16 13:52
我用二楼大哥的方法试了不行啊,用watchwindow看的时候SciaRegs.SCITXBUF分别收到的数据为0x0068,0x0004,0x0000,0x0003,0x0007,但是进不了接收中断,SciaRegs.SCIRXST.bit.RXRDY一直为0,电子罗盘就没有返回数据,,,要哭了!
diudiu1987
5楼-- · 2019-07-16 17:51
 精彩回答 2  元偷偷看……
tjubd
6楼-- · 2019-07-16 19:52
大哥,已经能通讯了,现在有个问题就是我正确连好电子罗盘后,上电,第一次运行程序的时候没有什么反应,但是我把电子罗盘的口拔下来重新插一下再加载原来的输出文件,再次运行程序就能行了,几乎每次都是这样,这是什么情况,能保证第一次电子罗盘是正确连上的

一周热门 更多>