本帖最后由 风之轻云之白 于 2020-5-2 22:10 编辑
接上一篇帖子入手麻雀一号入手之后,这篇主要说一下我在这两天使用过程中踩到的坑和麻雀一号的RT-Thread Micropython的基本使用方法吧。
一、麻雀一号上可以使用的micropython库:下面内容你可以在 RT-Thread文档中心--软件包--MicroPython用户手册--MicroPython库介绍中找到,可以看到麻雀一号实现了很多软件、硬件相关的库,但是还有一些功能并未实现,比如SD卡存储功能还未实现,支持的网络功能也不是很完善。 二、点亮一个LED灯 我们在进行单片机开发工程中第一个项目一定是点亮LED灯了,我们可以看到板子上有两颗LED灯分别连接到了P12和P13号引脚,具体操作参考machine.Pin这个库 要点亮一个LED灯首先要进行引脚初始化操作,这里要使用Pin(id,mode,value[,pull])函数,其中id为元组类型,元组第一个变量为引脚的名称这个可以我们自己随便定义,第二个参数为引脚的编号,需与引脚号对应为纯数字,mode参数设置引脚的模式有IN、OUT、OPEN_DRAIN三种模式,对于输入模式还需设置pull参数为PULL_UP、PULL_DOWN和None模式,如果想使用中断触发模式还需使用irq(trigger,landler)函数进行中断配置,其中第一个参数为为触发方式,可以设置为IRQ_FALLING、IRQ_RISING、IRQ_RISING_FALLING、IRQ_LOW_LEVEL、IRQ_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和按键功能时会发生冲突 好啦,这篇**的内容就这么多啦,主要是因为我其他的功能还没用到,下一篇是关于网络使用中的一些问题,敬请期待。。。
|