Micropython学习笔记

LED对象

构造函数说明
pyb.LED(id)其中id是编号,1-4分别对应LED1至LED4
使用方法说明
LED.off()关闭LED
LED.on()打开LED
LED.toggle()打开/关闭LED状态切换(反转)
LED.intensity(value)亮度调节,value的值范围是0-255

延时对象

构造函数说明
pyb.delay(ms)毫秒级延时
pyb.udelay(us)微秒级延时
使用方法说明
pyb.delay(1000)延时1000ms
pyb.udelay(1000)延时1000us

按键对象

构造函数说明
pyb.Switch()Switch代表了唯一的按键USER
使用方法说明
Switch.value()读取按键状态,按下时返回True,松开时返回False
Switch.calllback(fun)当按键被按下时执行函数,传入参数为None时禁用回调

加速度计

构造函数说明
pyb.Accel()加速度计构造
使用方法说明
Accel.x()获取x轴上的值
Accel.y()获取y轴上的值
Accel.z()获取z轴上的值

定时器

pyboard有14个定时器,每个定时器由一个独立的计时器组成,以用户定义的频率运行。这14个定时器的编号从1到14,但是3个定时器预留给内部使用,5和6定时器用于伺服和ADC/DAC控制。避免使用这些计时器。

构造函数说明
pyb.Timer(id)创建timer对象
pyb.Timer(id,freq=(freq))创建timer对象且初始化定时器为freq赫兹
使用方法说明
Timer.init(freq=(freq))初始化定时器为freq赫兹
Timer.counter()获取计数器的当前值,传入number时计时器重置为number
Timer.callback(fun)定时器回调函数,传入参数为None时禁用回调。传递给回调函数的函数 必须带有一个参数 ,即触发的timer对象。这允许从回调函数 中控制计时器。
Timer.channel( channel , mode , … )初始化通道对象。每个 通道 都可以配置为执行pwm,输出比较或 输入捕获。 所有通道共享同一个基础计时器,这意味着他们共享相同的计时器时钟。pulse_width-确定要使用的初始脉冲宽度值。 pulse_width_percent-确定要使用的初始脉冲宽度百分比。

PWM示例:

timer = pyb.Timer(2, freq=1000)
ch2=timer.channel(2,pyb.Timer.PWM,pin=pyb.Pin.board.X2,pulse_width=8000)
ch3=timer.channel(3,pyb.Timer.PWM,pin=pyb.Pin.board.X3,pulse_width=16000)

伺服对象

构造函数说明
pyb.Servo(id)创建一个伺服对象。 id是1-4,并且对应于引脚X1至X4。
使用方法说明
Servo.angle( [ angle , time = 0 ] )角度控制。angle角度[-90至90];time:旋转到指定角度的时间,单位ms,默认0表示最快
Servo.speed( [ speed, time = 0 ])速度控制(针对360度连续旋转舵机)。speed:速度[-100至100]。time:开始启动到指定速度的时间,单位ms,默认0表示最快
Servo.pulse_width([value])如果未提供任何参数,则此函数返回当前的原始脉冲宽度值。如果提供了参数,则此函数设置原始脉冲宽度值。
Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100]])如果未提供任何参数,则此函数返回当前校准 数据,作为5个元素的元组。如果提供了参数,则此函数设置时序校准:pulse_min 是允许的最小脉冲宽度。pulse_max 是最大允许脉冲宽度。pulse_centre 将伺服器置于0度或0速度的脉冲宽度 。 pulse_angle_90 是对应于90度的脉冲宽度。pulse_speed_100 是对应于速度100的脉冲宽度。

ADC对象

构造函数说明
pyb.ADC(pin)开启某个pin引脚的ADC功能
使用方法说明
ADC.read()读取AD值,返回0至4095(0v-3.3v);自带AD的侧量的进度是12位,2^12-4096

DAC对象

DAC用于在引脚X5或X6上输出模拟值(一个特定电压)。电压介于0至3.3V之间。

构造函数说明
pyb.DAC( port , bits = 8 )port 可为一个引脚对象,或一个整数(1或2)。DAC(1)位于引脚X5上,DAC(2)位于引脚X6。bits 为一个指定分辨率的整数,可为8或12。
使用方法说明
DAC.init( bits =8)重新启动DAC。 bits 可为8或12。
DAC.noise( freq )生成一个伪随机噪声信号。以给定频率将一个新的随机样本写入DAC输出。
DAC.triangle(freq)生成一个三角形波。DAC输出值以给定频率变化。重复三角形波的频率为2048倍。
DAC.write( value )输出特定电压(0v-3.3v)。value的值为2^bits-1(例:8bits范围就是0-255)
DAC.write_timed( data, freq, mode=DAC.NORMAL)使用DMA传输启动RAM到DAC的突发。输入数据以8位模式的字节数组和12位模式下的无符号半字(类型编码“H”)数组形式处理。freq 可为指定使用定时器(6)写入DAC样本的频率的整数。其也可为一个用来触发DAC样本的已初始化定时器对象。有效定时器为2、4、5、6、7和8。mode 可为 DAC.NORMAL 或 DAC.CIRCULAR(循环模式).

ExtInt类 – 配置I/O引脚以中断外部事件

构造函数说明
pyb.ExtInt(pin, mode, pull, callback)pin 是激活中断的引脚(可为一个引脚对象或任何有效名)。mode 可为下列之一: - ExtInt.IRQ_RISING - 触发上升沿; - ExtInt.IRQ_FALLING - 触发下降沿; - ExtInt.IRQ_RISING_FALLING - 触发上升或下降沿.pull 可为下列之一: - pyb.Pin.PULL_NONE - 无上拉或下拉电阻; - pyb.Pin.PULL_UP - 启用上拉电阻; - pyb.Pin.PULL_DOWN - 启用下拉电阻.callback 是中断触发时调用的函数。回调函数必须接受确切的1个参数
使用方法说明
ExtInt.disable()禁用与ExtInt对象关联的中断。这可能对消除抖动有关有帮助。
ExtInt.enable()启用禁用的中断。
ExtInt.line()返回引脚映射的行号。
ExtInt.swint()从软件触发回调。

I2C对象

构造函数说明
pyb.I2C(bus, …)在给定的总线上构造一个I2C对象。 bus可以是1或2,“ X”或 是的 没有其他参数,则创建I2C对象,但不创建 已初始化(具有上一次初始化的设置 公交车(如果有)。 如果给出额外的参数,总线将被初始化。 请参阅 init以获取初始化参数。Pyboards V1.0和V1.1上I2C总线的物理引脚为:I2C(1)在X位置: (SCL, SDA) = (X9, X10) = (PB6, PB7)I2C(2)在Y位置: (SCL, SDA) = (Y9, Y10) = (PB10, PB11)
使用方法说明
I2C.deinit( )关闭I2C总线。
I2C.init( mode , * , addr = 18 , baudrate = 400000 , gencall = False , dma = False )使用给定的参数初始化I2C总线:mode必须是 I2C.MASTER或 I2C.SLAVE。addr是7位地址(仅对从设备有意义)。baudrate是SCL时钟速率(仅对主机敏感)。gencall是否支持一般通话模式。dma是否允许将DMA用于I2C传输(注意 DMA传输具有更精确的时序,但目前不处理总线 错误正确)
I2C.is_ready( addr )检查I2C设备是否响应给定地址。 仅在主模式下有效。
I2C.mem_read( data , addr , memaddr , * , 超时 = 5000 , addr_size = 8 )从I2C设备的内存中读取:data可以是整数(要读取的字节数)或要读入的缓冲区。addr是I2C设备地址。memaddr是I2C设备中的内存位置。timeout是等待读取的超时时间(以毫秒为单位)。addr_size选择memaddr的宽度:8或16位。返回读取的数据。 这仅在主模式下有效。
I2C.mem_write( data , addr , memaddr , * , 超时 = 5000 , addr_size = 8 )写入I2C设备的内存:data可以是整数或要从中写入的缓冲区。addr是I2C设备地址。memaddr是I2C设备中的内存位置。timeout是等待写入的超时(以毫秒为单位)。addr_size选择memaddr的宽度:8或16位。返回 None。 这仅在主模式下有效。
I2C.recv( recv , addr = 0 , * , 超时 = 5000 )在总线上接收数据:recv可以是整数,即要接收的字节数, 或可变缓冲区,将用接收到的字节填充。addr是要接收的地址(仅在主模式下需要)。timeout是等待接收的超时时间(以毫秒为单位)。返回值:如果 recv是整数,则为接收到的字节的新缓冲区, 否则,传递给的缓冲区相同 recv。
I2C.send( send , addr = 0 , * , 超时 = 5000 )在总线上发送数据:send是要发送的数据(要发送的整数或缓冲区对象)。addr是要发送到的地址(仅在主模式下必需)。timeout是等待发送的超时时间(以毫秒为单位)。返回值: None。
I2C.scan( )扫描从0x01到0x7f的所有I2C地址,并返回响应列表。 仅在主模式下有效。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值