找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1751|回复: 5
打印 上一主题 下一主题
收起左侧

单片机如何通过串口通信给不同变量赋值?

[复制链接]
跳转到指定楼层
楼主
ID:1052064 发表于 2022-11-15 14:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如我先定义一个a当a=0时单片机不动作当a=1时单片机可以调整温度上限,此时串口发送一串数值过来可以把值赋给温度上限的变量,当a=2时单片机可以调整温度下限,此时串口发送一串数值过来可以把值赋给温度上限的变量,并且在不同模式下可以通过串口改变a的值也就是不同的调整模式。刚学单片机不久,不太了解串口知识,求大佬们不吝赐教,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-11-15 17:03 | 只看该作者
首先指定通讯协议,你可以去了解一下MODBUS ASC、RTU两种协议。
回复

使用道具 举报

板凳
ID:123289 发表于 2022-11-16 11:33 | 只看该作者
先定个通讯规则:
例如:一次通讯三个字节,
第1个字=1,就是变量A1; =2,就是变量A2; =3,就是变量A3……。
第2个字=低位
第3个字=高位
这样当你收到123时,就将32给到A1。
同样要发送A3中的57,就发送:3,7,5。

这个规则,就叫协议。
用协议可以达成各式各样的通讯需求。
回复

使用道具 举报

地板
ID:1034262 发表于 2022-11-16 13:38 | 只看该作者
用一个简单的协议即可。
回复

使用道具 举报

5#
ID:1052064 发表于 2022-11-17 14:01 | 只看该作者
yzwzfyz 发表于 2022-11-16 11:33
先定个通讯规则:
例如:一次通讯三个字节,
第1个字=1,就是变量A1; =2,就是变量A2; =3,就是变量A3…… ...

我现在有温度上限,温度下限,湿度上限,湿度下限四种变量,并且都要求0-99可调,如果按照您说的这样,我是不是得要在语音模块设置400种不同的串口信息了?我想能不能只设置0-99的数值,然后再什么模式下就赋给什么变量能实现吗?
回复

使用道具 举报

6#
ID:123289 发表于 2022-11-17 16:42 | 只看该作者
仅仅一个温湿度,不是很复杂的。
发恢一下自己的动能,想个办法一定是可以办成的。
做单片机这一行,这一点点东东,真不值一谈。
我只是给出一个思路,未必必须这样做。
如果你有400个数据要用串行数据来改动,自然至少发来400个数据,至于如何分配它们,希望你能想个招数。
帮班主任捧一摞作业本,发到各个同学手里,你将如何做到呢?按名子发就可以了,也可以借鉴。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表