首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正点原子阿波罗STM32H743移植IO扩展驱动到Micropython

上一篇《正点原子阿波罗STM32H743移植触摸驱动到Micropython》,我们成功将显示屏和触摸屏移植到Micropython上,接下来,我们将介绍一下将PCF8574(IO扩展芯片)移植到Micropython中。

1.正点原子阿波罗STM32H743开发板介绍

正点原子阿波罗STM32H743开发板是一款高性能嵌入式开发平台,基于STM32H743微控制器,主频480MHz,拥有1MB SRAM和2MB Flash。开发板采用核心板+底板设计,支持多种外设,如RGB LCD、九轴传感器、音频编解码、以太网、USB接口等。

2.RT-Thread介绍

RT-Thread是一款开源的嵌入式实时多线程操作系统,主要采用 C 语言编写,具有良好的可移植性和可裁剪性。它支持多任务调度,并提供线程管理、内存管理、中断管理等功能。RT-Thread 包含完整版和 Nano 版,其中Nano 版仅需 3KB Flash 和 1.2KB RAM,非常适合资源受限的微控制器。

3.PCF8574介绍

PCF8574是NXP(原Philips)推出的一款I/O扩展芯片,通过I²C总线为微控制器提供8位通用并行输入/输出端口(GPIO),能够有效解决主控 IO 资源不足的问题。该芯片的 I²C 地址可以通过 A0 - A2 引脚进行配置(范围为 0x20 - 0x27),并且支持标准(100kHz)和快速(400kHz)通信模式。

4.测试PCF8574

参考《正点原子STM32H743借助RT-Thread移植Micropython》添加pcf8574的软件包,然后进入配置项,启用pcf8574的例程:

完成上述操作后,重新编译项目,生成新的固件文件。将新固件烧录到开发板后,在msh中输入pcf8574_sample,运行例程。正常情况下,就会听到蜂鸣器响了一声。

5.移植到micropython

在将 PCF8574 移植到 Micropython 的过程中,需要对以下三个文件进行修改:

packages\micropython - latest\port\genhdr下的qstrdefs.generated.h

packages\micropython - latest\port下的mpconfigport.h

applications下的main.c

由于涉及的修改较多,这里不再一一详细展开。我已经将修改后的文件上传至 Gitee(https://gitee.com/py2012/STM32H743_lcd_touch),可以直接下载并替换对应的文件。

完成文件替换后,重新编译项目,生成新的固件文件。

6.在MicroPython上测试PCF8574

重新烧录固件后,就可以开始测试PCF8574的各项功能了,包括引脚输入输出功能(这里只有蜂鸣器可以测试)。

参考代码如下:

import pcf8574,utimewhile True:   pcf8574.value(0,0)   utime.sleep(1)   pcf8574.value(0,1)   utime.sleep(1)

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OmhqQ7-e7lcBwcwupij8hgUA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券