打印
[技术问答]

用N76E616 P4口做按键如何判断?

[复制链接]
1055|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lgw2558|  楼主 | 2019-5-16 14:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
P4口不能位寻址,要如何分别判断长按短按?

使用特权

评论回复
沙发
xyz549040622| | 2019-5-16 18:01 | 只看该作者
读取整体的io状态也是可以的。

使用特权

评论回复
板凳
小明的同学| | 2019-5-17 00:11 | 只看该作者
楼上正解

使用特权

评论回复
地板
小明的同学| | 2019-5-17 00:11 | 只看该作者
读出来端口的,逻辑操作获取位,不是一样的吗

使用特权

评论回复
5
dongnanxibei| | 2019-5-17 00:38 | 只看该作者
参考ARM内核的单片机的方法啊

使用特权

评论回复
6
heisexingqisi| | 2019-5-17 01:16 | 只看该作者
楼上高人啊。不太清楚,手册说的不可以吗,看看头文件有没有这个端口的定义

使用特权

评论回复
7
tianxj01| | 2019-5-17 08:35 | 只看该作者
本帖最后由 tianxj01 于 2019-5-17 08:38 编辑

用引脚中断做更容易,占时间资源最少。
毕竟连续读按键,是非常占用资源的行为,如果你的系统无所谓,就扫描按钮了另当别论。
至于位操作,这个很简单,读整个端口P4,然后该咋整咋整呗。
KEY_TMP=P4;// 整体读端口P4
kEY_DATA=KEY_TMP|&0x01;//已经转换为P40的键值。
你甚至可以构筑一个结构体,8个位操作寄存器,组合成一个通用内存单元,编译器自然会在通用位寄存器部分给你划出一个八位寄存器,一次性读到该寄存器,然后爱咋咋滴。

使用特权

评论回复
8
yiyigirl2014| | 2019-5-17 21:38 | 只看该作者
解决了没?

使用特权

评论回复
9
zhuotuzi| | 2019-5-18 00:22 | 只看该作者
位和端口是一样可以的,最多多个取位操作

使用特权

评论回复
10
dongliushui| | 2019-5-18 23:34 | 只看该作者
真滴假的,不是51吗

使用特权

评论回复
11
dongliushui| | 2019-5-18 23:36 | 只看该作者
P4: 端口4仅可字节操作, 复位后所有管脚为输入模式

使用特权

评论回复
12
dongliushui| | 2019-5-18 23:36 | 只看该作者
还真是,查了手册,是不可以,那就要写几行了。

使用特权

评论回复
13
dongliushui| | 2019-5-18 23:36 | 只看该作者
逻辑操作方式操作位。

使用特权

评论回复
14
dongliushui| | 2019-5-18 23:37 | 只看该作者

使用特权

评论回复
15
yiy| | 2019-5-18 23:57 | 只看该作者
参考ARM内核的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝