DSP论坛
直播中

tjubd

11年用户 19经验值
擅长:测量仪表
私信 关注

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

我想用f2812 发送一串十六进制数据如 6804000307 给电子罗盘,电子罗盘要收到这一整串十六进制的数据后才返回信息,具体该怎么弄啊,以前没接触过dsp,是该把这一串数据存入数组中,还是怎么的。。新手求指导!

回帖(6)

曹辉

2013-10-16 16:37:13
一个比较简单的方法就是,直接发送,如下:
SciaRegs.SciATXBUF=0X68;
SciaRegs.SciATXBUF=0X04;
SciaRegs.SciATXBUF=0X00;
SciaRegs.SciATXBUF=0X03;
SciaRegs.SciATXBUF=0X07;
寄存器的符号写的不一定对,你可以查下资料。
由于发送只有16级缓冲,如果你想发送更多的数据时,需要在中间加上延时程序。这个例子中的5个数据就不用加延时了。
举报

tjubd

2013-10-17 09:36:22
大神,这电子罗盘是要收到一串的十六进制6804000307后才会返回数据,用串口调试助手的时候要在发送框中输入一串数据发送才行,这样分开发送就像在发送框中写个68就发送,然后接着写,这样发送的方法能行么,新手望指导!
举报

liuwei

2013-10-18 19:19:28
串口调试助手发送数据也是一帧一帧的发送啊,不可能一下子一串数据啊,二楼的方法是正解!!
举报

tjubd

2013-10-21 10:22:22
我用二楼大哥的方法试了不行啊,用watchwindow看的时候SciaRegs.SCITXBUF分别收到的数据为0x0068,0x0004,0x0000,0x0003,0x0007,但是进不了接收中断,SciaRegs.SCIRXST.bit.RXRDY一直为0,电子罗盘就没有返回数据,,,要哭了!
举报

曹辉

2013-11-5 15:07:47
DSP的串口没有进入接收中断可能有两种原因:1、软件程序(接收中断部分程序)没有设置正确,2、DSP与电子罗盘的硬件连接是否正确?两者之间需要加电平转换芯片。
举报

tjubd

2013-11-6 20:48:35
大哥,已经能通讯了,现在有个问题就是我正确连好电子罗盘后,上电,第一次运行程序的时候没有什么反应,但是我把电子罗盘的口拔下来重新插一下再加载原来的输出文件,再次运行程序就能行了,几乎每次都是这样,这是什么情况,能保证第一次电子罗盘是正确连上的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分