zoukankan      html  css  js  c++  java
  • Micropython通用控制

    1 . pyb

    import pyb 
    
    pyb.delay(50)        #延时50毫秒
    pyb.millis()         #返回开机后运行时间
    pyb.repl_uart(pyb.UART(1,9600))    #指定repl到串口1
    pyb.wfi()     #暂停cpu等待中断唤醒
    pyb.freq()    #返回cpu的总线频率
    pyb.freq(60000000)    #设置cpu频率为60MHZ
    pyb.stop()         #停止cpu,等待外部中断唤醒

    2. LED控制

    from pyb import LED
    
    led = LED(1)    #指定红色led,实例化
    led.toggle()    #翻转led
    led.on()      #开led
    led.off()      #关led

    3. Pins和GPIO的使用

    from pyb import Pin
    
    p_out = Pin('X1',Pin.OUT_PP)    #x1设置为输出
    p_out.hight()    #输出高电平
    p_out.low()      #输出低电平
    
    p_in = Pin('X2',Pin.IN,Pin.PULL_UP)    #x2设置为输入,并使能内部上拉电阻
    p_in.value()    #都取电平

     4. 舵机控制

    from pyb import Servo
    s1 = Servo(1)      #使用X1控制(x1,VIN,GND)
    s1.angle(45)       #转到45°
    s1.angle()              #返回现在的角度数 
    s1.angle(-60,150是0)    #1500ms内转到-60°
    
    s1.speed(90)        #转动90°角

    5. 外部中断

    from pyb import Pin,ExtInt
    
    callback = lambda e :print("interrupt")    #设置回调函数
    ext ExtInt(Pin('Y1'),ExtInt.IRQ_RISNG,Pin.PULL_NONE,callback) #设置外中断

    6. 定时器

    from pyb import Timer
    
    tim =Timer(1,freq=1000) #定义定时器1,工作频率是1000hz
    tim.counter()    #读取计数器
    tim.freq(0.5)    #设定定时器频率为0.5hz
    tim.callback(lambda t:pyb.LED(1).toggle())  #设置回调函数

    7 . PWM

    from pyb import Pin,Timer
    
    p = Pin('X1')    #X1是定时器2的ch1
    tim = Timer(2,freq=1000)
    ch = tim.channel(1,Timer.PWM,pin=p)    #设置pwm引脚
    ch.pulse_width_percent(5))             #设置pwm输出占空比

    8 . ADC(模数转换)

    from pyb import Pin,ADC
    
    adc = ADC(Pin('X19'))  #设置ADC输入引脚
    adc.read()    #读取adc转换的结果,默认是12为方式,参数范围0~4095

    9. DAC(数模转换)

    from pyb import Pin,DAC
    
    dac = DAC(Pin('X5'))  #设置DAC输出引脚
    dac.write(120)           #设置输出电压,默认8位模式,参数0~255

    10. UART(串口)

    from pyb import UART    
    
    uart = UART(1,9600)    #设置串口号以及波特率
    uart.write('hello')         #输出
    uart.read(5)                #最多读取5个字节

    11. SPI总线

    from pyb import SPI
    
    spi = SPI(1,SPI.MASTER,baudrate=200000,polarity=1,phase=0)  #设置SPI参数
    spi.send('hello')  #发送数据
    spi.recv(5)         #读取5个字节
    spi.send_recv('hello')  #发送并接收5个字节

    12. I2C总线

    from pyb import I2C
    
    i2c = I2C(1,I2C.MASTER,baudrate=100000)  #设置I2C参数
    i2c.scan()   #搜索总线上设备
    i2c.send('hello',0x42)  #发送5个字节到地址0x42
    i2c.recv(5,0x42)        #从地址0x42接收5个字节
    i2c.mem_read(2,0x42,0x10)      #从0x42设备中的内存0x010处读取2个字节
    i2c.mem_write('xy',0x42,0x10)  #写入2个字节到设备0x42的内存地址0x10

     13. 加速度传感器

    from pyb import Accel,delay
    acc = Accel()
    acc.x()  #读取x轴参数
    while True:
        print(acc.x(),acc.y(),acc.z())  #打印三轴的数据
        delay(500)

    14. 驱动oled

    from machine import I2C
    i2c=machine.I2C(1)
    from ssd1306 import SSD1306_I2C
    oled = SSD1306_I2C(128,64,i2c)
    oled.text("hello world!",0,0)
    oled.show()
  • 相关阅读:
    鼠标移开事件(onmouseout)
    IOS iPhone 屏幕尺寸 判断设备屏幕尺寸、分辨率
    iOS 程序图标Logo设置
    关闭iOS虚拟键盘的几种方法
    Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
    按钮创建
    Mac 截图 快捷键
    UserDefaultes 数据存储使用
    NSUserDefaults 使用方法
    IOS中NSUserDefaults的用法(轻量级本地数据存储)
  • 原文地址:https://www.cnblogs.com/iBoundary/p/11262187.html
Copyright © 2011-2022 走看看