打印

DSP数据Int16通过串口传输转Char8位数组问题

[复制链接]
1163|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
加cpp|  楼主 | 2016-8-4 14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用DSP的UART传输数据时候选择是非FIFO模式,可以每次传输8位。我通过AD采集的数据是Int16位的数组(Int16 A [1000];),所以需要把16位int转成高8位和低8位组合的数组(char B [2000]),例如假设数组中其中一个数int A[1]=999;要拆成char B[2]={09,99},然后要将charB数组转成十六进制char B[2]={0x09,0x63};
请问这样的过程应该如何编程?谢谢!

相关帖子

沙发
biechedan| | 2016-8-4 17:05 | 只看该作者
你约定好通信协议直接接收吗?

使用特权

评论回复
板凳
biechedan| | 2016-8-4 17:08 | 只看该作者
一般都是约定起始信号和完结信号,然后转换。

使用特权

评论回复
地板
加cpp|  楼主 | 2016-8-4 20:59 | 只看该作者
biechedan 发表于 2016-8-4 17:08
一般都是约定起始信号和完结信号,然后转换。

我是通过csl API里的宏定义UART_write(char pbuf,length,0);来读数据给串口的,可以直接传给电脑,就是现在是int16位数组想强制转换char,好像c55x的char也是16位,不知道是不是自动16位拆成8位8位读取的。另外您说的这个约定是什么意思,我的串口都是根据Datasheet寄存器配置的。

使用特权

评论回复
5
suzhanhua| | 2016-8-5 21:46 | 只看该作者
其实你可以直接发送字符串。

使用特权

评论回复
6
suzhanhua| | 2016-8-5 21:49 | 只看该作者
在电脑上直接格式化字符串就行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

12

帖子

0

粉丝