[CPLD] 串口输出问题

[复制链接]
1724|10
 楼主| yangyang1 发表于 2014-4-12 00:14 | 显示全部楼层 |阅读模式
本人新学习CPLD,小白一枚,我想用CPLD RS232输出16位数据,该怎么实现??望高手指点
bitshiyan 发表于 2014-4-12 08:57 | 显示全部楼层
特权  单字节串口输出  0x   网上有代码
 楼主| yangyang1 发表于 2014-4-12 22:05 | 显示全部楼层
bitshiyan 发表于 2014-4-12 08:57
特权  单字节串口输出  0x   网上有代码

对16位数据通过RS232口发送出去,单字节不是8位么 ,这个还是有点麻烦啊 ,麻烦了 ,谢谢
yghanwuji 发表于 2014-4-12 23:48 | 显示全部楼层
如果你按UART协议的话,按波特率起始位、数据位、停止位,数据位是8位还是16位都是你自己定义的啊
bitshiyan 发表于 2014-4-13 15:52 | 显示全部楼层
本帖最后由 bitshiyan 于 2014-4-14 09:04 编辑

那就做个状态机,在数据位发送的时候,state_bits 16 发送完成后接结束位。


 楼主| yangyang1 发表于 2014-4-13 21:59 | 显示全部楼层
yghanwuji 发表于 2014-4-12 23:48
如果你按UART协议的话,按波特率起始位、数据位、停止位,数据位是8位还是16位都是你自己定义的啊 ...

您的意思是发送的时候 数据位也可以是16位直接发?
 楼主| yangyang1 发表于 2014-4-13 22:05 | 显示全部楼层
bitshiyan 发表于 2014-4-13 15:52
那就做个状态机,在数据位发送的时候,state_bits 16 发送完成后接结束位。

楼上有理。。。 ...

谢谢啦 实在是新手  我捉摸下 本来是考虑直接发的 有人指点过串口只能发8位,想着把16位直接按照 高8位和低8位分两次发出去
huangxz 发表于 2014-4-13 22:19 | 显示全部楼层
yangyang1 发表于 2014-4-13 21:59
您的意思是发送的时候 数据位也可以是16位直接发?

spi可以直接发16bit,按标准的uart,最多9bit
bitshiyan 发表于 2014-4-14 09:03 | 显示全部楼层
本帖最后由 bitshiyan 于 2014-4-14 09:06 编辑
yangyang1 发表于 2014-4-13 22:05
谢谢啦 实在是新手  我捉摸下 本来是考虑直接发的 有人指点过串口只能发8位,想着把16位直接按照 高8位和 ...

那我说错了,应该,那你使用 多字节收发状态机 可以实现 ,一个状态机发送单字节详情,一个状态机负责字节顺序。
woshizhengjie89 发表于 2014-4-14 09:06 | 显示全部楼层
如果是向PC通迅的话,只能用标准的uart,即最多9bit, 但是如果你向单片机或ARM上通迅的话,只要相应的器件中支持16bit即可。。。
yghanwuji 发表于 2014-4-14 09:19 | 显示全部楼层
yangyang1 发表于 2014-4-13 21:59
您的意思是发送的时候 数据位也可以是16位直接发?

解码的时候对应起来解16位就可以了,你可以不按标准的UART走。如果你要发标准的UART,就高8位,低8位发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部