|
發(fā)布時間: 2023-9-14 23:20
正文摘要:串口設(shè)置了相同的傳輸速率,發(fā)送一個字節(jié),應是返回一個字節(jié),實際上返回了兩個字節(jié),請問哪里有問題呢 |
| 發(fā)送不要寫0x,只寫fe |
linlandon 發(fā)表于 2023-9-15 13:24 我是直接用芯片運行,不是仿真。 |
| 謝謝大家,在大家?guī)椭陆K于搞定了,仿真也有回傳,正常了 |
cjjdemon 發(fā)表于 2023-9-15 08:03 正解,不然串口調(diào)試助手就識別成兩個字節(jié)了 |
zyftank 發(fā)表于 2023-9-15 07:55 正解,不然串口調(diào)試助手就識別成兩個字節(jié)了 |
linlandon 發(fā)表于 2023-9-15 13:34 這種情況需要安裝一個虛擬串口工具,虛擬出一對虛擬的串口,Protues中的P1的屬性中,你選擇這對虛擬串口中的一個,串口調(diào)試助手選擇另外一個虛擬串口,這樣才能正常通信。 |
| 我去掉0x后,在串口助手發(fā)送還是接收不到呢? |
xuyaqi 發(fā)表于 2023-9-15 10:57 請問你用的proteus仿真嗎?多少版本的。我用8.7版本的,從上位機發(fā)送,單片機還是接收不到字節(jié) |
xuyaqi 發(fā)表于 2023-9-15 10:57 請問能用的proteus仿真嗎?多少版本的。我用8.7版本的,從上位機發(fā)送,單片機還是接收不到字節(jié) |
戡拤 發(fā)表于 2023-9-15 09:07 等待字節(jié)發(fā)送完成,然后才可以發(fā)送下一個字節(jié)。 |
謝謝大家了,恍然大悟。怪不得我仿真的時候在程序中發(fā)送可以接收到,而在串口發(fā)送卻不能接收返回。我太愛你們了![]() |
你收到的數(shù)放在rev,發(fā)應該發(fā)rev而不是rev+1,你指定HEX模式直接寫FE,不要寫0x。
|
npn 發(fā)表于 2023-9-15 07:34 可以說明一下這樣改動的原因嗎? |
| 發(fā)送不要寫0xfe,只寫fe |
| 發(fā)送緩沖區(qū)填不填0xFE,直接填FE試試? |
| 你去掉前面的0x |
|
SBUF = rev + 1; while (!TI); TI = 0; |
| 從你給的程序,說明不了你發(fā)一個字節(jié)應返回一個字節(jié)。 |
Powered by 單片機教程網(wǎng)