串口要求停止位为2的问题
请教一个关于串口问题,在串口1通讯模式下,就是波特率19200、奇校验、停止位为2时,相关寄存器应该怎么配置,谢谢!看你芯片对应手册呀,手册里面基本都有。或者用STC-ISP软件,能配置大部分寄存器了 hsrzq 发表于 2024-7-5 12:48
看你芯片对应手册呀,手册里面基本都有。或者用STC-ISP软件,能配置大部分寄存器了 ...
我手册特意看了,STC32G12K128及STC8H手册全部都搜索过了,
上面都是1位停止位,没有看到哪里可以设置2位停止位的,
不知道是不是没有找到,或者有其它办法解决这个问题。
{:4_218:}
发送完,开个定时器 1个位的时间,再发下一个字节 神农鼎 发表于 2024-7-5 14:38
发送完,开个定时器 1个位的时间,再发下一个字节
谢谢!我试下,如果可以,停止位1.5位2位或者更多位都可以解决了!{:4_250:}{:4_250:}{:4_250:} 你可以设置串口工作在模式3,
串行通信模式 3 为 9 位数据异步通信 UART 模式,其一帧的信息由 11 位组成:1 位起始位,8 位数据位(低位在先),1 位可编程位(第 9 位数据) 和 1 位停止位。发送时可编程位(第 9 位数据)由 SCON 中的 TB8 提供,可软件设置为 1 或 0,或者可 将 PSW 中的奇/偶校验位 P 值装入 TB8(TB8 既可作为多机通信中的地址数据标志位,又可作为数据的 奇偶校验位)。接收时第 9 位数据装入 SCON 的 RB8。TxD 为发送端口,RxD 为接收端口,以全双工模 式进行接收/发送。
模式 3 和模式 1 相比,除发送时由 TB8 提供给移位寄存器第 9 数据位不同外,其余功能结构均基本 相同,其接收‘发送操作过程及时序也基本相同。
第9位就可以由你说了算,不就实现了吗? Yim_Hom 发表于 2024-7-5 18:39
你可以设置串口工作在模式3,
串行通信模式 3 为 9 位数据异步通信 UART 模式,其一帧的信息由 11 位组成: ...
如果只有2位停止位,没有校验位的话您的方法还是比较方便的,现在的问题是即要校验位,还要2位停止位,这样的话群主的方案我认为更加灵活、方便。谢谢! houzi8 发表于 2024-7-6 07:15
如果只有2位停止位,没有校验位的话您的方法还是比较方便的,现在的问题是即要校验位,还要2位停止位,这 ...
校验可以软件校验啊,呵呵…奇校验 偶校验 和校验 CRC校验,因为有一位可以做奇偶,你要是CRC的话,还是得想办法啊。
没事,条条大路通罗马,适合自己的就是最好的,目的是能到就行。 Yim_Hom 发表于 2024-7-6 08:08
校验可以软件校验啊,呵呵…奇校验 偶校验 和校验 CRC校验,因为有一位可以做奇偶,你要是CRC的话,还是 ...
可能人家的意思是,,串口的通讯种需要有奇偶校验,,这玩意并不是光单片机这一方能决定的,,有些模组就要求有奇偶校验,,但是两位停止位的我这里倒是没有遇到过,,
不过也不为是一种方法,,挺好 我觉得这个有点难度。