【Allwinner ClassA20类库分析】11.TWI类的使用

   本篇作为ClassA20类库使用说明的一个小结,讲述一下TWI类的使用。相对于前面所有的类,TWI比较复杂一点。不过在封装之后,也还是直接调用即可。在使用之前,请先在https://github.com/tjCFeng/ClassA20下载ClassA20类库。

    

   为了突出实用性,还是制作一个应用程序当作示例,其功能是香蕉派电源管理程序。

   香蕉派的电源管理芯片采用的是AXP209,通过TWI来控制。控制时需要指定AXP209的地址,并对AXP209中的寄存器赋值来获取或设置参数。如果没有十分的把握参数的正确性,强烈建议只读取参数,熟悉AXP209的各种功能后再去设置参数,否则有可能烧毁香蕉派,可不要找我赔呦:-)

    AXP209的参考手册和这个程序的工程文件在最后打包提供修改,由于时间关系,我只完成了前几项状态信息,有兴趣的话可以自己完成后面的设置部分。


    

    全志A20的TWI,其实就是I2C通信协议,封装的类是这样的


    寄存器多了一些,不过还算清晰。尤其是封装后,只要创建后指定一下速度(也可以不指定用默认),其他的Read和Write就行了。最重要的是要确定器件的地址,确定的方法请自己查询。


    TWI类不是单例,所以需要先创建实例,然后再去操作,操作方法请参考工程中uit_axp209.pas单元中的写法。

    uit_axp209.pas也是封装的一个类,它将AXP209的各个功能封装再一起,通过调用TWI来完成通信。窗体单元中直接使用AXP209类的功能,程序可读性比较高



    调用的代码



    设计时的窗体


    每一个Label组件用来显示对应的值

    

    运行时的窗体


    程序在启动后开始读取数据,然后显示到窗体上。工程压缩包中包括了一个可执行文件,解压后可以直接运行来试验效果,可以用在BPI-M1(香蕉派)、BPI-R1(香蕉派路由)、BPI-Pro(另一版本的香蕉派)等,只要电源管理芯片是AXP209的都可以使用。

    下载地址:链接: http://pan.baidu.com/s/1kTxbd59 密码: 0y7b

    

    如果以后ClassA20类库增加新功能后,将会随时扩充本讲解系列,同时最新的文件也将随时更新于Github上,https://github.com/tjCFeng/ClassA20,敬请关注,谢谢!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值