打印
[uCOS/RTOS]

【RTOS】+ 基于Micropython的麻雀一号踩坑指南

[复制链接]
1096|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 风之轻云之白 于 2020-5-2 22:10 编辑

    接上一篇帖子入手麻雀一号入手之后,这篇主要说一下我在这两天使用过程中踩到的坑和麻雀一号的RT-Thread Micropython的基本使用方法吧。
一、麻雀一号上可以使用的micropython库:下面内容你可以在 RT-Thread文档中心--软件包--MicroPython用户手册--MicroPython库介绍中找到,可以看到麻雀一号实现了很多软件、硬件相关的库,但是还有一些功能并未实现,比如SD卡存储功能还未实现,支持的网络功能也不是很完善。
二、点亮一个LED
        我们在进行单片机开发工程中第一个项目一定是点亮LED灯了,我们可以看到板子上有两颗LED灯分别连接到了P12P13号引脚,具体操作参考machine.Pin这个库
    要点亮一个LED灯首先要进行引脚初始化操作,这里要使用Pin(id,mode,value[,pull])函数,其中id为元组类型,元组第一个变量为引脚的名称这个可以我们自己随便定义,第二个参数为引脚的编号,需与引脚号对应为纯数字,mode参数设置引脚的模式有INOUTOPEN_DRAIN三种模式,对于输入模式还需设置pull参数为PULL_UPPULL_DOWNNone模式,如果想使用中断触发模式还需使用irq(trigger,landler)函数进行中断配置,其中第一个参数为为触发方式,可以设置为IRQ_FALLINGIRQ_RISINGIRQ_RISING_FALLINGIRQ_LOW_LEVELIRQ_HIGH_LEVEL五种模式,第二个参数为中断函数,这个需要我们自己定义一个函数然后将函数入口名写在这里

三、示例
from machine import Pin
import time
LED1_PIN = ("P12",12)
LED2_PIN = ("P13",13)
KEY_DOWN = ("P19",19)

def key0_irq(v):
    print("Key_down is pressed")

def main():
    print("Welcome to RT-Thread MicroPython!")
    led1 = Pin(LED1_PIN,Pin.OUT_PP)
    led2 = Pin(LED2_PIN,Pin.OUT_PP)
    key_0 = Pin(KEY_DOWN,Pin.IN,Pin.PULL_UP)
    key_0.irq(trigger=Pin.IRQ_FALLING,handler=key0_irq)
    while True:
        led1.value(1)
        led2.value(1)
        time.sleep(1)
        led1.value(0)
        led2.value(0)
        time.sleep(1)
   
if __name__ == '__main__':
    main()

写完代码后点击下载到该Micropython设备上运行就可以看到两颗LED灯开始闪烁,同时按下五向按钮的下键,在串口中会显示Key_down ispressed
我们在原理图中也可以看到麻雀一号的五向按钮和LED公用了P12和P13两个引脚,所以在同时使用LED和按键功能时会发生冲突
好啦,这篇**的内容就这么多啦,主要是因为我其他的功能还没用到,下一篇是关于网络使用中的一些问题,敬请期待。。。

使用特权

评论回复

相关帖子

沙发
21ic小喇叭| | 2020-5-9 16:40 | 只看该作者
感谢分享,您发了两篇参赛帖,再送您1000家园币,可以兑换礼品。

使用特权

评论回复
板凳
flyingcys| | 2020-5-10 15:18 | 只看该作者
不错不错!可以玩下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

11

帖子

0

粉丝