找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1835|回復(fù): 5
收起左側(cè)

單片機(jī)如何通過串口通信給不同變量賦值?

[復(fù)制鏈接]
ID:1052064 發(fā)表于 2022-11-15 14:22 | 顯示全部樓層 |閱讀模式
例如我先定義一個(gè)a當(dāng)a=0時(shí)單片機(jī)不動作當(dāng)a=1時(shí)單片機(jī)可以調(diào)整溫度上限,此時(shí)串口發(fā)送一串?dāng)?shù)值過來可以把值賦給溫度上限的變量,當(dāng)a=2時(shí)單片機(jī)可以調(diào)整溫度下限,此時(shí)串口發(fā)送一串?dāng)?shù)值過來可以把值賦給溫度上限的變量,并且在不同模式下可以通過串口改變a的值也就是不同的調(diào)整模式。剛學(xué)單片機(jī)不久,不太了解串口知識,求大佬們不吝賜教,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2022-11-15 17:03 | 顯示全部樓層
首先指定通訊協(xié)議,你可以去了解一下MODBUS ASC、RTU兩種協(xié)議。
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2022-11-16 11:33 | 顯示全部樓層
先定個(gè)通訊規(guī)則:
例如:一次通訊三個(gè)字節(jié),
第1個(gè)字=1,就是變量A1; =2,就是變量A2; =3,就是變量A3……。
第2個(gè)字=低位
第3個(gè)字=高位
這樣當(dāng)你收到123時(shí),就將32給到A1。
同樣要發(fā)送A3中的57,就發(fā)送:3,7,5。

這個(gè)規(guī)則,就叫協(xié)議。
用協(xié)議可以達(dá)成各式各樣的通訊需求。
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2022-11-16 13:38 | 顯示全部樓層
用一個(gè)簡單的協(xié)議即可。
回復(fù)

使用道具 舉報(bào)

ID:1052064 發(fā)表于 2022-11-17 14:01 | 顯示全部樓層
yzwzfyz 發(fā)表于 2022-11-16 11:33
先定個(gè)通訊規(guī)則:
例如:一次通訊三個(gè)字節(jié),
第1個(gè)字=1,就是變量A1; =2,就是變量A2; =3,就是變量A3…… ...

我現(xiàn)在有溫度上限,溫度下限,濕度上限,濕度下限四種變量,并且都要求0-99可調(diào),如果按照您說的這樣,我是不是得要在語音模塊設(shè)置400種不同的串口信息了?我想能不能只設(shè)置0-99的數(shù)值,然后再什么模式下就賦給什么變量能實(shí)現(xiàn)嗎?
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2022-11-17 16:42 | 顯示全部樓層
僅僅一個(gè)溫濕度,不是很復(fù)雜的。
發(fā)恢一下自己的動能,想個(gè)辦法一定是可以辦成的。
做單片機(jī)這一行,這一點(diǎn)點(diǎn)東東,真不值一談。
我只是給出一個(gè)思路,未必必須這樣做。
如果你有400個(gè)數(shù)據(jù)要用串行數(shù)據(jù)來改動,自然至少發(fā)來400個(gè)數(shù)據(jù),至于如何分配它們,希望你能想個(gè)招數(shù)。
幫班主任捧一摞作業(yè)本,發(fā)到各個(gè)同學(xué)手里,你將如何做到呢?按名子發(fā)就可以了,也可以借鑒。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表