標(biāo)題: 問一個(gè)通信協(xié)議問題 [打印本頁]

作者: 正在學(xué)習(xí)51    時(shí)間: 2022-12-8 22:01
標(biāo)題: 問一個(gè)通信協(xié)議問題
一個(gè)芯片向另一個(gè)系統(tǒng)進(jìn)行通信的過程問題,是只需要向另一個(gè)系統(tǒng)發(fā)送代表傳輸?shù)恼埱蠡蛎罹偷却龁幔?br />
比如說A打開傳輸端口向B發(fā)送代表讀取的請求,然后發(fā)出的請求由B全權(quán)處理傳輸給A嗎?

請求的格式排列是怎么樣的?比如,請求指令-數(shù)據(jù)地址......這種是怎么排列的。

還有就是有沒有硬件速率問題,就是說比如A發(fā)送的頻率高到B的硬件反應(yīng)不過來而產(chǎn)生錯(cuò)誤的情況。

如果有,解決的方式是什么?



作者: 啤酒瓶子老大    時(shí)間: 2022-12-9 00:12
自己編寫協(xié)議還是有點(diǎn)費(fèi)勁的。為什么不用現(xiàn)成的協(xié)議呢?比如SPI,串口。距離遠(yuǎn)的可以用232,485啥的。多么成熟的協(xié)議啊。直接拿來用就好了。
作者: 正在學(xué)習(xí)51    時(shí)間: 2022-12-9 01:56
啤酒瓶子老大 發(fā)表于 2022-12-9 00:12
自己編寫協(xié)議還是有點(diǎn)費(fèi)勁的。為什么不用現(xiàn)成的協(xié)議呢?比如SPI,串口。距離遠(yuǎn)的可以用232,485啥的。多么 ...

我沒確定它的信息交換機(jī)制,協(xié)議倒是次要的,就是我下邊問那些。

其實(shí)我不太理解協(xié)議這個(gè)概念,照你這么說協(xié)議不是硬件固定的傳輸指令?
我想就是發(fā)送請求,請求通過后機(jī)器就會(huì)選擇請求中地址或注冊程序的的信息發(fā)送回來,這協(xié)議在其中扮演什么作用?
作者: angmall    時(shí)間: 2022-12-9 08:29
你是不是想知道有多少種通用協(xié)議?
像TCP/IP
USB
MODBUS
UART
SPI
IIC
CAN
LIN

就必須先讀通 其中的協(xié)議

作者: angmall    時(shí)間: 2022-12-9 08:42
你可以看一下 DS18B20協(xié)議時(shí)序
http://www.torrancerestoration.com/bbs/dpj-192978-1.html


作者: yzwzfyz    時(shí)間: 2022-12-9 08:46
猶如兩個(gè)人說話:
1、一個(gè)用中文,一個(gè)非洲部落語,無法溝通。
2、說的話,聽的慢,不行。
3、溝通順暢后,同時(shí)說不行,要一說一聽,誰說誰聽都一樣。
4、你罵他,命令他,求求他,都可以,他都能懂。反之也一樣。
最后一個(gè)問題,就是說得快的人,要說慢一點(diǎn),等等慢的對(duì)方。這就是解決方案!因?yàn)檎f得慢的人,快不起來。
作者: 1261867136qq    時(shí)間: 2022-12-9 08:47
問題1:串口和并口的問題;問題2:涉及具體協(xié)議格式;問題3:波特率的問題
作者: 人中狼    時(shí)間: 2022-12-9 10:05
協(xié)議是一個(gè)大而全的概念,包括硬件和軟件,只是現(xiàn)在一般指某些特定方面罷了。要更好的理解協(xié)議,可以學(xué)習(xí)通訊原理方面的知識(shí)
作者: 大漠落日    時(shí)間: 2022-12-9 11:32
硬件能通訊,再考慮發(fā)送數(shù)據(jù)代表什么意思,這是應(yīng)用問題
作者: Y_G_G    時(shí)間: 2022-12-9 13:55
如果你要學(xué)習(xí)單片機(jī),那就買一本書來看,三五十塊,哪怕是一百塊也不算多,應(yīng)該不用分期吧
如果你不想學(xué)單片機(jī),那就沒有必要問這類問題,這東西一時(shí)半會(huì)說不明白,你可以百度一下IIC協(xié)議,再認(rèn)真看一遍,你也不用非得去真正理解不可,你就看一下里面有多少你不知道的專業(yè)名詞吧
協(xié)議就分兩種:
一種是行業(yè)標(biāo)準(zhǔn)協(xié)議,像IIC,CAN之類的,它有專門的標(biāo)準(zhǔn),你只能按照它規(guī)定的來進(jìn)行通訊,就像你說的什么排列,它是有規(guī)定,比如,第一個(gè)是地址,規(guī)定了地址是8位的,第二個(gè)是命令,規(guī)定了命令是8位..............
另一種是自己寫的協(xié)議,你愛怎么寫就怎么寫
作者: 正在學(xué)習(xí)51    時(shí)間: 2022-12-10 03:10
yzwzfyz 發(fā)表于 2022-12-9 08:46
猶如兩個(gè)人說話:
1、一個(gè)用中文,一個(gè)非洲部落語,無法溝通。
2、說的話,聽的慢,不行。

不是,我的意思是比如兩個(gè)機(jī)器的里面各有一個(gè)三極管,這兩個(gè)三極管的反應(yīng)時(shí)間不同。
這種情況下如果快的說慢的根本聽不清,連約定說多快都做不到。

如果你說的也是這個(gè)問題的話,那實(shí)際的解決方法是什么?
我想了三種,其實(shí)是兩種解決方式。一種是串聯(lián)發(fā)一次1位就反饋一次或者并聯(lián)發(fā)一次8位也反饋一次,這樣就不會(huì)產(chǎn)生因?yàn)橛布磻?yīng)速度的原因發(fā)送錯(cuò)誤。另一個(gè)就是用一個(gè)被動(dòng)的最高速存儲(chǔ)硬件來解決,一邊發(fā)送大量的數(shù)據(jù)后用一次觸發(fā)來讓另一邊讀取。這樣就可以各自按自己的速度來工作而不產(chǎn)生反應(yīng)速度的問題了。

事實(shí)上有沒有和我說的相似的?或者是其他方式。

也許我說的不貼切,就是說A發(fā)了一個(gè)信號(hào)給B,但B硬件慢還沒有醒這時(shí)候A又發(fā)了一個(gè)這時(shí)候信號(hào)就覆蓋或者發(fā)布不去就再發(fā)第三個(gè)了,所以實(shí)際上是怎么解決的這個(gè)問題?
作者: 正在學(xué)習(xí)51    時(shí)間: 2022-12-10 03:22
Y_G_G 發(fā)表于 2022-12-9 13:55
如果你要學(xué)習(xí)單片機(jī),那就買一本書來看,三五十塊,哪怕是一百塊也不算多,應(yīng)該不用分期吧
如果你不想學(xué)單片機(jī) ...

見笑了,先了解個(gè)大概。磨刀不誤砍柴工嘛
作者: hhdsdy    時(shí)間: 2022-12-10 09:41
正在學(xué)習(xí)51 發(fā)表于 2022-12-10 03:22
見笑了,先了解個(gè)大概。磨刀不誤砍柴工嘛

上面的幾個(gè)都說得很清楚了,你自己不去學(xué),偏要“先了解個(gè)大概”,怎么解釋都因?yàn)槟銢]有基礎(chǔ)而對(duì)牛彈琴,這不是來消遣人嗎?
作者: hhdsdy    時(shí)間: 2022-12-10 09:43
“兩個(gè)機(jī)器的里面各有一個(gè)三極管”,這個(gè)說法讓人感到很奇怪呢
作者: 正在學(xué)習(xí)51    時(shí)間: 2022-12-10 19:44
hhdsdy 發(fā)表于 2022-12-10 09:41
上面的幾個(gè)都說得很清楚了,你自己不去學(xué),偏要“先了解個(gè)大概”,怎么解釋都因?yàn)槟銢]有基礎(chǔ)而對(duì)牛彈琴, ...

怎么能說消遣人,如果不想回答就不答這是個(gè)人自由啊。如果沒看懂我說什么或者我說的與事實(shí)有出入那也可以討論主流以外的方式啊。
我并不想按部就班的只玩?zhèn)單片機(jī),我希望擴(kuò)展哪怕討論到核電子。
作者: lyonkon    時(shí)間: 2022-12-12 21:22
正在學(xué)習(xí)51 發(fā)表于 2022-12-10 19:44
怎么能說消遣人,如果不想回答就不答這是個(gè)人自由啊。如果沒看懂我說什么或者我說的與事實(shí)有出入那也可以 ...

如果第一個(gè)發(fā)送數(shù)據(jù),第二個(gè)反應(yīng)有點(diǎn)慢,第一個(gè)會(huì)處理其他任務(wù),等第二個(gè)反應(yīng)過來給第一個(gè)發(fā)個(gè)信號(hào),第一個(gè)發(fā)第二個(gè)數(shù)據(jù)。協(xié)議可以約定速度,比如串口通訊,波特率要一致。也可以約定流程,比如自己約定流程。像并口通訊,可以自己定通訊流程。
作者: 人中狼    時(shí)間: 2022-12-13 22:29
越大的范圍,越大的概念都是由細(xì)節(jié)決定的,不了解細(xì)節(jié),討論大的概念,就趨向于吹牛,而不是討論知識(shí)了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1