打印
[CPLD]

串口输出问题

[复制链接]
1350|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangyang1|  楼主 | 2014-4-12 00:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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位都是你自己定义的啊

使用特权

评论回复
5
bitshiyan| | 2014-4-13 15:52 | 只看该作者
本帖最后由 bitshiyan 于 2014-4-14 09:04 编辑

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


使用特权

评论回复
6
yangyang1|  楼主 | 2014-4-13 21:59 | 只看该作者
yghanwuji 发表于 2014-4-12 23:48
如果你按UART协议的话,按波特率起始位、数据位、停止位,数据位是8位还是16位都是你自己定义的啊 ...

您的意思是发送的时候 数据位也可以是16位直接发?

使用特权

评论回复
7
yangyang1|  楼主 | 2014-4-13 22:05 | 只看该作者
bitshiyan 发表于 2014-4-13 15:52
那就做个状态机,在数据位发送的时候,state_bits 16 发送完成后接结束位。

楼上有理。。。 ...

谢谢啦 实在是新手  我捉摸下 本来是考虑直接发的 有人指点过串口只能发8位,想着把16位直接按照 高8位和低8位分两次发出去

使用特权

评论回复
8
huangxz| | 2014-4-13 22:19 | 只看该作者
yangyang1 发表于 2014-4-13 21:59
您的意思是发送的时候 数据位也可以是16位直接发?

spi可以直接发16bit,按标准的uart,最多9bit

使用特权

评论回复
9
bitshiyan| | 2014-4-14 09:03 | 只看该作者
本帖最后由 bitshiyan 于 2014-4-14 09:06 编辑
yangyang1 发表于 2014-4-13 22:05
谢谢啦 实在是新手  我捉摸下 本来是考虑直接发的 有人指点过串口只能发8位,想着把16位直接按照 高8位和 ...

那我说错了,应该,那你使用 多字节收发状态机 可以实现 ,一个状态机发送单字节详情,一个状态机负责字节顺序。

使用特权

评论回复
10
woshizhengjie89| | 2014-4-14 09:06 | 只看该作者
如果是向PC通迅的话,只能用标准的uart,即最多9bit, 但是如果你向单片机或ARM上通迅的话,只要相应的器件中支持16bit即可。。。

使用特权

评论回复
11
yghanwuji| | 2014-4-14 09:19 | 只看该作者
yangyang1 发表于 2014-4-13 21:59
您的意思是发送的时候 数据位也可以是16位直接发?

解码的时候对应起来解16位就可以了,你可以不按标准的UART走。如果你要发标准的UART,就高8位,低8位发。

使用特权

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

本版积分规则

21

主题

68

帖子

0

粉丝