![]() |
1
5
TymiOS系统不直接支持9位操作,但它可以通过使用CMSPAR标记来欺骗某些系统。它没有文档记录,而且我的代码也没有出现在所有的实现中。
|
![]() |
2
3
|
|
3
3
即使现实世界的UARTs没有9位数据帧也是可能的。 找到了一个在Windows和Linux下也可以使用的库。 见 http://adontec.com/9-bit-serial-communication.htm |
![]() |
4
2
一个人可以离开个人的MAX22电平转换器,只要在单个微控制器(在同一PCB上,而不是在不同的建筑物中)之间没有电压效力问题,直到最大输出(TTL)负载的MAX23 2(或克隆,或电阻器和逆变器/晶体管)IC。 找不到标记或空间奇偶校验的linux termios设置(我相信硬件uart确实支持,只是不支持linux tty实现),所以我们只需稍微修改一下实际的奇偶校验生成。 8个数据位,2个停止位与8个数据位长度相同,1个奇偶校验位,1个停止位。(其中第一个停止位是逻辑1,负线电压)。
这就提供了一个8位transparant,虽然是单向通信,但意味着要在同一总线上处理“很多事情”(实际上是256个不同的(组)事情)。这是一种方法,因为当一个人想做两种方法时,你需要两个线对,或者在多个频率下进行调制,或者实现共线检测,等等。 PIC微控制器可以用ehm的“一些诡计”进行9位串行通信(第9位实际上在另一个寄存器中;)
您是否考虑过简单地为“地址字”(其中需要9位;)打开奇偶校验,然后将其设置为奇数或偶数,计算它,以便选择正确的地址字使奇偶校验打开的第9位(奇偶校验)为“1”,8位为“数据”,然后关闭奇偶校验并打开2个停止位。(就微控制器而言,它仍然保持9位字的长度;)。。。这是很久以前的事了,但据我记忆,停止位和数据位在时间上一样长。 这应该适用于任何可以进行8位输出、奇偶校验和2个停止位的情况。其中包括pc硬件和linux。(和dos等) 如果我能正确地回忆起“过去的日子”,pc硬件也可以选择打开或关闭所有单词的“奇偶校验”(不需要实际计算)
(没有什么是linux上的一些termios设置不能解决的,我想。。。打开然后关上。。。我们让那些东西做了更奇怪的事情;) 一个pic微控制器实际上也做了同样的事情,只是它没有像数据表中的“它实际是什么”那样显示出来。他们称之为“第9位”之类的。在pc机上,因此在linux上,它的工作方式与之基本相同。 不管怎样,如果这件事应该“双向”工作,那么祝你好运,用2对线连接它,或者想出一些方法来进行碰撞检测,这比取出9个比特要麻烦得多。
有点管用。。也许有些事情是错误的,但它确实发送了9位。(CSTOPB设置2个停止位,这意味着在8位传输数据上,第9位=1,在寻址模式下,第9位=0;) 还要注意,实际的rs232线电压水平与软件“读取”的电压水平相反(这与pic微控制器从晶体管或逆变器或max232克隆ic获得的“反向”5v ttl水平相同)。逻辑1为-19v或-10v(pc),逻辑0为+19/+10,停止位为负电压,如1,长度相同。 位输出0-7(在本例中为8;)。。。所以起始位->0、1、2、3、4、5、6、7,
|
![]() |
5
1
|
![]() |
6
0
|
![]() |
Paun Alin · 将快速串行数据写入文件(csv或txt) 7 年前 |
![]() |
KSK · 如何在中检测通过串行端口或以太网连接的设备状态的变化。净额 7 年前 |
|
lemming · 没有这样的文件或目录c++boost库 7 年前 |
![]() |
TheUberUser · JSSC DCE控制线 7 年前 |
|
Gordon · 在Linux中读取和写入同一文件描述符时出现问题 7 年前 |
|
antisycop · 串行HC-05不工作 7 年前 |
![]() |
Andrey Tsarev · 从串行端口上的命令读取响应 7 年前 |
![]() |
Farshad Z · 从USB GPS解码GPS坐标 7 年前 |
![]() |
OlavT · 如何在Raspberry PI上设置串行端口的波特率? 7 年前 |