微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > 使用dspf2812 发送一串十六进制数据

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

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

一个比较简单的方法就是,直接发送,如下:
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与电子罗盘的硬件连接是否正确?两者之间需要加电平转换芯片。

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top