金牌会员
- 积分
- 1109
- 金钱
- 1109
- 注册时间
- 2016-3-25
- 在线时间
- 360 小时
|
自己在搞一个产品,指纹锁,虽然市场上已经很多 了,但是自己对这块很感兴趣,也是锻炼一下自己,稳定后想着把方案卖给别人(想想而已,毕竟产品已经很成熟了哈)。
好吧,回到主题,其他功能模块都没什么问题,哎,就是触摸方案用的是飞思卡尔的MPR121的芯片,真是把自己的累惨了(本来想说坑惨了,毕竟是自己技术不到家嘛),主控芯片采用的是STM8L152K4T6。在网上买了一个MPR121的触摸板回来测试(红色的板子,12键,如下图附件),开始没有写过IIC的驱动,开始采用硬件IIC来驱动,但是遇到了问题,一直在一个死r循环里,在网上s查找资料,也发现很多网友都遇到同样的问题,都建议用模拟IIC,甚至还有网友说ST芯片的IIC存在BUG,瞬间迷茫了。但不是甘心,如果存在BUG,官方应该早就会发现并且解决。然后学习了一下IIC的时序,通信过程等(说实话,理解起来比较容易,但是用起来确实要很细心)。
后面在网上找了一个硬件IICc驱动AT24C02的工程(只是编译、下载程序验证了可以用,没有细读代码),然后主要是看IIC初始化o函数,IIC读写这两个函数,经过一上午的努力,可以正常通信了。功夫不负有心人呀。这个驱动我的都tt放了一阵子了,本来不打算玩了(由于提前回家过年了,在家没有什么事,所以又捣鼓起来)。看来这个指纹锁还是继续做下去^_^...
网友们是不是同样遇到这个问题了?好嘛,需要源码的可以留言,把邮箱留下,我看到了会及时发到您的邮箱中去。这里我把编译好的BIN文件贴出来,大家有兴趣的可以下载来测试。
硬件:
主控:STM8L152K4T6
通信:硬件IIC
MPR121的中断引脚: GPIOD GPIO_Pin_4
输出:串口1 波特率115200
两个板子可以看附件。
|
|