找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3647|回复: 7
收起左侧

怎样实现电脑串口助手控制单片机给元器件发送命令并读取信息呢?

[复制链接]
ID:586906 发表于 2020-12-29 15:27 | 显示全部楼层 |阅读模式
怎样实现电脑串口助手控制单片机给元器件发送命令并读取信息呢?我只会简单移植,然后串口助手发什么,单片机传回什么,元器件感觉没连接上,中间少了什么吗?求助大佬指点

通讯.rar

22.54 KB, 下载次数: 10

回复

使用道具 举报

ID:833284 发表于 2020-12-29 17:33 | 显示全部楼层
师傅有灯带的程序码
回复

使用道具 举报

ID:235200 发表于 2020-12-30 00:49 | 显示全部楼层
串口可以发送相对应的字符值给单片机作为命令,单片机接收后发回应答信息也可以用字符表示,接收命令后经判断去执行相对应的任务即可
回复

使用道具 举报

ID:870718 发表于 2020-12-30 08:48 | 显示全部楼层
还是需要参考相应元器件的具体要求和指令来操作,你可以通过串口读取单片机的数据还可以通过串口下发数据写入器件,然后回读。
回复

使用道具 举报

ID:586906 发表于 2020-12-30 08:56 | 显示全部楼层
csmyldl 发表于 2020-12-30 00:49
串口可以发送相对应的字符值给单片机作为命令,单片机接收后发回应答信息也可以用字符表示,接收命令后经判 ...

大佬,求详细解读
回复

使用道具 举报

ID:367934 发表于 2020-12-30 09:22 | 显示全部楼层
单片机与电脑通信为一部分,单片机与其他元件或模块通信是另一部分。单片机跟电脑就像是两个人在交流一样,单片机有单片机要负责的事情,电脑有电脑要负责的事情。两者之间的沟通可以用国语,可以用方言等等,只要双方可以识别就好。有需要的时候电脑只需要告诉单片机要做的事情,这叫发指令。
常用的指令定义可以用16进制或者固定格式的字符串。简单的控制和数据交流建议用16进制就可以,处理起来比较简单,减少出错。
最简单的16进制指令:
FF 01 00 00 00 00 00 55
这个是一个8个字节的数据。(一个字节为8位即“FF”)
例子;
unsigned char sndata[8];//定义发送数据缓存
一般头是固定的:sndata[0]=0xFF;
一般最后一位是校验位;sndata[7]=0xFF;可以是自定义的一位数据,一般是通过相关计算得的一个数据。
剩下的就是自定义的功能位:
比如第二位为led控制;
定义:sndata[1]=0x00; //关闭
定义:sndata[1]=0x01; //开启
这部分都是要在单片机中定义好。因为这些事情都是单片机负责的事情。相反也是如此。


回复

使用道具 举报

ID:586906 发表于 2020-12-30 15:11 | 显示全部楼层
谢谢各位的指点,我再试试,不懂再请教
回复

使用道具 举报

ID:586906 发表于 2020-12-30 15:35 | 显示全部楼层
放下自在 发表于 2020-12-30 08:48
还是需要参考相应元器件的具体要求和指令来操作,你可以通过串口读取单片机的数据还可以通过串口下发数据写 ...

元器件就是接收“open 01”命令,准备接收命令,然后接收到“r”;就自动运行,然后连续返回传输采集到的数据,直接用串口助手可以读取,我用单片机给它命令就不会返回信息,不知道哪弄错了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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