久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2458|回復: 13
收起左側

USART的數據位設置為9位

[復制鏈接]
ID:1040483 發表于 2023-9-13 13:41 | 顯示全部樓層 |閱讀模式
1.請問有沒有串口助手的數據位可以設置為9位

2.我看ESP32的USART的數據位最大設置為8位,可以設置為9位嗎,另外ESP32的串口發送接受函數是按字節發的,不是按bit,如何才能將9bit數據發送接受出去呢

謝謝!
回復

使用道具 舉報

ID:883242 發表于 2023-9-13 14:23 | 顯示全部樓層
兩個問題的答案都是“不可以!”

USART數據位有多少取決于硬件,軟件就是無限作弊都繞不開硬件限制,第二個問題ESP的datasheet告訴你了,第一個問題可以查16C550的datasheet,電腦的串口都是這個芯片,雖然已經不存在實際的16C550,但是作為IP還是芯片集的標準配置。
回復

使用道具 舉報

ID:123289 發表于 2023-9-13 15:08 | 顯示全部樓層
可以自己定義(軟件方式):
用一根、兩根、三根IO線,都可以,只要雙方的通訊協議一樣即可。
以兩線為例,P1.0 = clk、P1.1 = data。通訊的雙方再協議一下,如:頻率,同步方式……。(可以對照232的協議進行,8位改9位,不就可以了嗎?)
不過,用軟件做很麻煩,又要求有一定的水準。
用硬件做:用9位以上的移位寄存器,搭建。也很麻煩,也要求有一定硬件水準。

一般方案:就用現成的8位,9位用兩個字節16位傳遞,做做組合、拆分就行了,16位去除7位,也不錯啊。

最接近可行的方案:利用奇偶校驗位傳輸第9位。
發送方:
1、將SCON的SM0設置成1,9位串行模式。
2、先將第9位寫入TB8。
3、再將第1-8位寫入SBUF,發送。
接收方:
1、將SCON的SM0設置成1,9位串行模式。
2、將SCON的SM2=0,這個設置是關鍵!!!如果SM2設置為1,則收不到第9位=0的數據。
3、將收到的RB8存于第9位,SBUF存于前8位。



回復

使用道具 舉報

ID:1040483 發表于 2023-9-13 15:13 | 顯示全部樓層
Hephaestus 發表于 2023-9-13 14:23
兩個問題的答案都是“不可以!”

USART數據位有多少取決于硬件,軟件就是無限作弊都繞不開硬件限制,第 ...

好的,非常感謝。我現在單片機需要與一個模塊進行串口通信,模塊描述數據位是9位,其中第9位為0時,前8位作為數據寫進模塊,第9位為1時,前8位作為命令寫進模塊,所以第九位相當于一個標志吧。請問我要怎么才能讓單片機的數據位為9呢。

回復

使用道具 舉報

ID:883242 發表于 2023-9-13 16:16 | 顯示全部樓層
年薪30w 發表于 2023-9-13 15:13
好的,非常感謝。我現在單片機需要與一個模塊進行串口通信,模塊描述數據位是9位,其中第9位為0時,前8位 ...

如果單片機就是沒有9位USART,那么只能有一個解決方案,就是加上奇偶校驗位。另外計算8位數據的奇偶位,犧牲掉一個數據位,強制讓奇偶位為1或0,這個方案根據你傳輸數據的不同,有可能不能用。
回復

使用道具 舉報

ID:1040483 發表于 2023-9-13 16:31 | 顯示全部樓層
yzwzfyz 發表于 2023-9-13 15:08
可以自己定義(軟件方式):
用一根、兩根、三根IO線,都可以,只要雙方的通訊協議一樣即可。
以兩線為例 ...

謝謝!
回復

使用道具 舉報

ID:1040483 發表于 2023-9-13 16:35 | 顯示全部樓層
Hephaestus 發表于 2023-9-13 16:16
如果單片機就是沒有9位USART,那么只能有一個解決方案,就是加上奇偶校驗位。另外計算8位數據的奇偶位, ...

請問如何強制讓奇偶校驗位為1或0呢,我這邊使用ESP32-S3在配置串口時只有失能奇偶校驗位、使能偶檢驗、使能奇校驗三種可選。另外此MCU的UART的發送函數是按字節發送,不是按位發送
回復

使用道具 舉報

ID:1092275 發表于 2023-9-13 17:09 | 顯示全部樓層
硬件決定了軟件
回復

使用道具 舉報

ID:213173 發表于 2023-9-13 20:28 | 顯示全部樓層
串行通訊不必非得用硬件串口。
回復

使用道具 舉報

ID:883242 發表于 2023-9-13 22:47 | 顯示全部樓層
年薪30w 發表于 2023-9-13 15:13
好的,非常感謝。我現在單片機需要與一個模塊進行串口通信,模塊描述數據位是9位,其中第9位為0時,前8位 ...

還是把模塊描述貼出來吧,我就不信有這么屌的公司自絕于,故意讓自己的產品跟主流不兼容,賣不出去。
回復

使用道具 舉報

ID:1040483 發表于 2023-9-14 08:30 | 顯示全部樓層
Hephaestus 發表于 2023-9-13 22:47
還是把模塊描述貼出來吧,我就不信有這么屌的公司。

CH375 的串行數據格式是 1 個起始位、9 個數據位、1 個停止位,其中前 8 個數據位是一個字節
數據,最后 1 個數據位是命令標志位。第 9 位為 0 時,前 8 位的數據被寫入 CH375 芯片中,第 9 位為
1 時,前 8 位被作為命令碼寫入 CH375 芯片中。

這是模塊datashit關于串口的描述,他其實還支持并口
回復

使用道具 舉報

ID:1040483 發表于 2023-9-14 08:31 | 顯示全部樓層
wulin 發表于 2023-9-13 20:28
串行通訊不必非得用硬件串口。

請高人詳細指點!
回復

使用道具 舉報

ID:213173 發表于 2023-9-14 13:04 | 顯示全部樓層
年薪30w 發表于 2023-9-14 08:31
請高人詳細指點!

MCU既可以與CH375并口連接,也可以與CH375串口連接。也不存在你描述的串口傳輸9bit數據問題。如果MCU端口夠用,采用并口連接更好。搜索本論壇有相關示例程序。 CH375中文手冊.pdf (235.54 KB, 下載次數: 3)
回復

使用道具 舉報

ID:1040483 發表于 2023-9-14 14:57 | 顯示全部樓層
wulin 發表于 2023-9-14 13:04
MCU既可以與CH375并口連接,也可以與CH375串口連接。也不存在你描述的串口傳輸9bit數據問題。如果MCU端口 ...

我就是參照了這個手冊,他說串行連接是需要數據位9位啊。但是之前我一直用的串口助手測的,8位,不知道為什么也能正常收發數據
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.v888av.com | 欧美一级免费观看 | 欧美v在线观看 | 中文字幕日韩一区 | 久久精品男人的天堂 | 久久精品视频在线观看 | 在线免费国产 | 美女131mm久久爽爽免费 | 曰批视频在线观看 | 国内精品久久久久久久影视简单 | 91精品久久久久久久久 | 亚洲国产欧美日韩 | 国产一区久久久 | 久久综合一区 | 精品一区二区三区电影 | 欧美精品日韩精品 | 中文字字幕一区二区三区四区五区 | 日韩在线不卡 | 欧美精品中文字幕久久二区 | 人人爽人人爽 | a黄视频| 日韩精品中文字幕一区二区三区 | 久久精品成人 | 好婷婷网| 91精品国产综合久久久动漫日韩 | 一级全黄视频 | 午夜电影网站 | 日韩欧美网 | 激情网站在线 | 亚洲欧美日韩精品久久亚洲区 | 日韩中文一区二区三区 | 亚洲电影免费 | 精品久久久久久久久久久久久久 | www.xxxx欧美 | 欧美freesex黑人又粗又大 | 国产福利91精品 | 91在线精品一区二区 | 天天宗合网 | 狠狠操在线 | 在线观看中文字幕 | 久久久国产精品一区 |