基于LPC55S69移植Micropython,并实现GPIO与串口通信

LPC55S69及其开发环境简介

有关LPC55S69开发板的介绍参见:

👉 硬禾学堂Funpack 11期
👉 恩智浦官网

在这里插入图片描述
板卡资源丰富,包含4位SDIO,及速度传感器,音频编解码,MikroElectronika Click拓展槽等。开发环境支持恩智浦的MCUXpresso、或通过生成LPC55S69的SDK在Keil5、IAR等环境中开发。

Micropython移植流程记录

有关Micropython的简介及开发流程可参考:

👉 Micropython官网
👉 RT-Thread文档中心

RT-Thread及MPY移植

在LPC55S69上移植Micropython,首先需要移植RT-Thread,再在此基础上完成Micropython的移植。RTT参见RT-Thread Github官方,其主要步骤及BSP(板级支持包)资源均配备。此外,需要配置RT-Thread Env

⚠️ 最好git clone 最新的RTT,以确保更多的bug得到了修复。

配置好Env后,在git clone后RTT所在文件夹下,打开ConEmu,如下图。

ConEmu Here
输入menuconfigHardware Drivers ConfigOn-chip Peripheral Drivers,使能GPIO,UART0与UART2。

Enable Peripheral Drivers
使能后退回上级菜单,在RT-Thread online packageslanguage packagesMicropython,使能并进入设置,“Heap size"改为20480,版本选用"latest”。

Settings of Micropython
进入Hardware Module使能"machine uart"。

Enable machine uart
最后在RT-Thread Components,改变"stack size"为8192,最后Exit退出配置。

在ConEmu中,输入"pkgs --update"将将软件包拉取到本地。

返回文件夹,在".\bsp\lpc55sxx\lpc55s69_nxp_evk\packages\micropython-latest"下有一"SConscript"文件,对此进行修改,注意30行改为"-fgnu"。

SConscript
改完后,在ConEmu中输入"scons --target=mdk5",生成Keil工程。根据Micropython用户手册,对main函数作出修改,在main线程中启动MicroPython,之后即可烧写到板卡中。

在main线程中启动Micropython

GPIO及串口通信

结合LPC55S69原理图及所生成Keil工程中drv_pin.c,板卡上LED_BLUE为Pin37,LED_RED为Pin39,LED_GREEN为Pin40,按键为Pin42。注意,板卡LPC-LINK2 占用了UART0,因此使用UART2做串口输入输出。

串口连接
使用vscode中的RT-Thread MicroPython插件进行mpy开发。

编写了一个简单的用按键控制LED和串口输出的程序,为了LED灯显示清晰没有整些花里胡哨的,该程序实现当KEY按下时,LED_BLUE与LED_RED翻转,串口每1秒打印语句。效果如下:

UART2输出
红灯亮

蓝灯亮
代码见资源链接,开源。

*BUG:目前我的板卡不知为何无法实现从UART2串口输入字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值