|
本帖最后由 夏宇闻 于 2011-12-2 13:49 编辑
夏老师您好:我想请教您一个问题。现在我有两个模块,一个数据处理模块,一个串口模块。我想把数据处理模块中的数据通过串口传到PC上,可是数据变量有很多,怎样进行传输呢?
如,有数据a1,a2,....a20共20个,可是串口接口dataout定义为8位dataout[7:0],怎么传呢,直接dataout[7:0] = {a1,a2,....a20}可以吗,这样好像位数不等。
是不是还得有控制啊,如,某条件合适:dataout[7:0] = {a1,a2,...a8}, 然后某条件合适:dataout[7:0] = {a9,a10,...a16},...这样分开传。
夏老师答:串口一般指只有一位变化的信号,收到后可以转为字节或字。有20个数据如果可以分时传,第1个时钟到第8个时钟传第一个8位数据,第9个时钟到第16个时钟传第2个8位数据,依次类推就可以把a1,a2,…到a20个8位数据传完。当然如果不是每次传送都相同,就需要制定协议,数据增加5位,头5位是数据编号,后8位才是该编号的数据,这样想要发送几号数据就可以发送,接收方也知道数据来自几号数据源。 |
|