这个问题困扰我快一周了,现在具体来说一下。做的项目主要是与按键和数码管有关!然后在网上买了两个TM1650模块,每个TM1650只能控制4个数码管,只能扫描三个按键;项目中需要5个数码管,6个按键,所以买了两个!(至于为什么不直接买一个多数码管的模块,我也搞不懂,反正公司这样要求的)
这个模块是通过IIC通信的,由于两个模块完全一样,所以,我用了两个IIC接口,分别与两个模块连接。
主程序中就是:一个死循环里面放了两个按键扫描函数,然后就是判断某个按键按下之后的操作。有一个模块一直很稳定,另一个就不行了,比如在主函数中定义一个变量,然后就没用了,就是按按键,没有任何反应,把这个变量注释掉,又有用了!再比如我有写了几行代码,然后又没用了,然后把写的这几行代码再注释掉,又会有用???另外一个模块是一直可以读到相应的按键,也可以执行相应的操作。所以不知道到底为什么会这样???
在这里我认为有以下几个原因,第一:两个按键扫描函数冲突了???第二:会不会是IIC两个接口分接到两个模块导致的错误???第三:会不会与内存有关???这几个原因也是我凭感觉得来的,希望朋友指点一下!
附件里面有TM1650和程序源码,用的板子是mini
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
单独测试没有问题,组合在一块,只要不定义变量也是没有问题的
所以,最好仔细检查你的驱动,看看有没有主动关闭某些地方导致。
一周热门 更多>