4489|9

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求教:串口通信怎会接收到两种按键扫描码值 [复制链接]

我设计了一个5*5的矩阵键盘,中断方式扫描,按下一个键后,单片机将该键的码值发送到pc机,通过485总线传送。程序烧进后,结果第一行的5个键(码值应该为01 02 03 04 05)发送到pc机的码值经常为15 16 17 18 19,比如我不断的按下01键,在pc机就可能接收到类似15 15 01 15 15 01的码值,不断地按下02键,pc机可能接受到类似16 16 02 02 16的码值,而第二行到第四行共20个按键的键值在pc机端接收到的都是正确值。不知道这是什么原因

最新回复

精通施奈德PLC,要有实际经验,有一定的自主支配时间。待遇面谈。联系方式:027-87792427;E@mail:bb0912@163.com  详情 回复 发表于 2007-2-2 08:35
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
先把问题分开来查,即先确定是通讯问题还是按键扫描问题?比如先不去扫描按键,直接把你可能产生的键码值全部循环送给电脑,看看是否正确?然后再去查按键扫描程序!
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
485通信
注意延时
它是半双工的
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢两位。我现在只是让单片机往PC机发,并没有接收部分。现在发现除了第一列按键外,剩下的全部都扫描出正常的键值,而第一列扫描的值跟第五列扫描的值有可能相同。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
即第一列的键值正确应该为01 02 03 04,第五列的键值正确为15 16 17 18,结果发现第一列也会扫描出 15 16 17 18这样的键值
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
那就是你程序逻辑错误
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
我原来扫描列的顺序是p00 p01 p02 p03 p04,结果p00列的值01 02 03 04 05 ,也可能是15 16 17 18 19 ,而p04列的值是15 16 17 18 19,我后来把扫描的顺序改称p04 p00 p01 p02 p03 ,结果扫描结果正确。仔细看了程序,感觉逻辑上没什么问题。不知则么回事,难道扫描顺序会影响扫描的正确性吗
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

8
 
还有个问题,就是单片机每次复位或加电时pc的串口精灵经常会受到0x00,不知道这事什么原因
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
肯定是程序逻辑问题
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
精通施奈德PLC,要有实际经验,有一定的自主支配时间。待遇面谈。联系方式:027-87792427;E@mail:bb0912@163.com
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
福禄克有奖直播:高精度测温赋能电子制造 报名中!
直播时间:2025年2月28日(周五)上午10:00
直播主题:高精度测温赋能电子制造
小伙伴们儿快来报名直播吧~好礼等你拿!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表