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时禁用回调 |
加速度计
使用方法 | 说明 |
---|
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地址,并返回响应列表。 仅在主模式下有效。 |