找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机做的键盘 I2C和51单片机 连接的问题

[复制链接]
跳转到指定楼层
楼主
ID:275111 发表于 2020-4-1 11:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 这是一个51单片机的按键板 需要把按键值发送给 主机(另一个51单片机)
2 I2C通信
3 这个思路大概是什么样的?(谁是主机 谁是从机 通信大概方式是什么?)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:475247 发表于 2020-4-1 16:06 | 只看该作者
你的思路还不明确,I2C通信没有主从,他是在同步时钟时收发数据,他讲究开始位,停止位,应答位(ACK),主控器件接收IIC 总线传来的数据函数,主控器件发送数据到IIC 总线函数,这此事整明白了,代码就容易整出来了
回复

使用道具 举报

板凳
ID:10947 发表于 2020-4-1 17:35 | 只看该作者
另一个单片机做主机,他询问一次,按键板的单片机就回一次键值
回复

使用道具 举报

地板
ID:275111 发表于 2020-4-2 10:10 | 只看该作者
lfc315 发表于 2020-4-1 17:35
另一个单片机做主机,他询问一次,按键板的单片机就回一次键值

但我有一点一直没想通,比如说我是按键板,哪我啥时候按下按键,主机咋知道?不是应该我按键板给主机 主动发送键值吗?
回复

使用道具 举报

5#
ID:720799 发表于 2020-4-2 11:54 | 只看该作者

另一个单片机做主机,主机询问,从机按键进行反馈
回复

使用道具 举报

6#
ID:720799 发表于 2020-4-2 11:55 | 只看该作者
tianqi911 发表于 2020-4-2 10:10
但我有一点一直没想通,比如说我是按键板,哪我啥时候按下按键,主机咋知道?不是应该我按键板给主机 主 ...

电平高低变化
回复

使用道具 举报

7#
ID:47286 发表于 2020-4-2 12:24 | 只看该作者
tianqi911 发表于 2020-4-2 10:10
但我有一点一直没想通,比如说我是按键板,哪我啥时候按下按键,主机咋知道?不是应该我按键板给主机 主 ...

你这么想也行 人家说的也行 比如你的按键板里做个标记 只要判断完按键按下就置位 收到询问时发送的是标记值 这样就不需要实时 然后 提高查询频率 比如每50ms查询一次 以人手的能力很难每50ms按一下吧 以片子的处理能力而言 50ms基本上什么都不会影响 主动发也行的 但接收方也要考虑是否能立即处理 比如用的模拟I2C而非硬件I2C的时候 接收端口又不在外部中断端口上 接收方正好在一个中断里执行呢 你发过去人家不一定理你啊 然后你的发送端还得确认对方是否接收 无接收要重发 从代码上还不如查询来的简单
回复

使用道具 举报

8#
ID:343111 发表于 2020-4-2 12:28 | 只看该作者
有硬件IIC,有软件模拟IIC,IIC通信是全双工的,不存在谁是主机,谁是从机
回复

使用道具 举报

9#
ID:343111 发表于 2020-4-2 12:29 | 只看该作者
tianqi911 发表于 2020-4-2 10:10
但我有一点一直没想通,比如说我是按键板,哪我啥时候按下按键,主机咋知道?不是应该我按键板给主机 主 ...

你按下就会发送过去,这你要在程序里面自己写
回复

使用道具 举报

10#
ID:213173 发表于 2020-4-2 15:38 | 只看该作者
因为按键程序太简单,没有人因为按键功能单独使用一个单片机获取键值再通过I2C与上位机传递,就算有必要这么做也是用串口通讯为佳。如果只是为了练练手则另当别论。
回复

使用道具 举报

11#
ID:275111 发表于 2020-4-2 15:59 | 只看该作者
dzbj 发表于 2020-4-2 12:24
你这么想也行 人家说的也行 比如你的按键板里做个标记 只要判断完按键按下就置位 收到询问时发送的是标记 ...

哇塞,终于有一个指点的这么清楚的。原来是这样。
回复

使用道具 举报

12#
ID:275111 发表于 2020-4-2 16:03 | 只看该作者
dzbj 发表于 2020-4-2 12:24
你这么想也行 人家说的也行 比如你的按键板里做个标记 只要判断完按键按下就置位 收到询问时发送的是标记 ...

我这个有硬件I2C模块的。客户就是要求这个按键板做从机。
我看了你的解释才明白。我太小看单片机的速度了。我一开始总觉得,我狂按,单片机就反应不过来了。。。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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