only :: port_wipy
定时器通道用于使用定时器生成/捕获信号。
TimerChannel对象是使用Timer.channel()方法创建的。
timerchannel.irq( *,trigger,priority = 1,handler = None)此回调的行为在很大程度上取决于操作 定时器通道的模式:
- 如果mode是``Timer.PERIODIC``,则定期执行回调
使用配置的频率或周期。
- 如果mode是``Timer.ONE_SHOT``,则回调执行一次
配置的计时器到期。
- 如果mode是``Timer.PWM``,则在达到占空比时执行回调
周期值。被接受的参数是:
- 中断的``priority``级别。可以取1-7范围内的值。
值越高表示优先级越高。
- ``handler``是一个可选的函数,在触发中断时被调用。
- 当操作模式为“Timer.PERIODIC”时,
````必须是``Timer.TIMEOUTTimer.ONE_SHOT。在模式为“Timer.PWM”的情况下,触发器必须等于Timer.MATCH。返回一个回调对象。
UART类 - 双工串行通信总线¶
UART实现标准的UART / USART双工串行通信协议。在 物理层由2行组成:RX和TX。沟通单位 是一个字符(不要与字符串混淆),可以是8或9 比特宽。
可以使用::创建和初始化UART对象
从机器导入UART
uart = UART(1,9600)#init,给定波特率 uart.init(9600,bits = 8,parity = None,stop = 1)#init with给定参数
支持的参数在板上有所不同:
Pyboard:比特可以是7,8或9.停止可以是1或2.使用* parity = None *, 仅支持8位和9位。启用奇偶校验后,只有7位和8位 得到支持。
WiPy / CC3200:比特可以是5,6,7,8。停止可以是1或2。
UART对象就像一个`stream`对象,完成了读写操作 使用标准流方法:
uart.read(10)#read 10个字符,返回一个bytes对象
uart.read()#读取所有可用字符
uart.readline()#读取一行
uart.readinto(buf)#读取并存储到给定的缓冲区中
uart.write('abc')#写3个字符
构造函数¶
-
UART(id,...) 构造给定id的UART对象。
方法¶
method :: UART.deinit()
关闭UART总线。
..方法:: UART.any()
返回一个整数,计算可以不读取的字符数 阻塞。如果没有可用字符且为正数,则返回0 数字,如果有字符。即使有更多,该方法也可以返回1 超过一个可供阅读的角色。
有关可用字符的更复杂查询,请使用select.poll
poll = select.poll() poll.register(uart,select.POLLIN) poll.poll(超时)
..方法:: UART.read([nbytes])
读字符。如果指定``nbytes``则最多读取多个字节, 否则读取尽可能多的数据。
返回值:包含读入的字节的字节对象。返回``None`` 在超时。
..方法:: UART.readinto(buf [,nbytes])
将字节读入``buf``。如果指定了``nbytes``,则最多读取 那很多字节。否则,最多读取``len(buf)``字节。
返回值:读取并存储到``buf``或``None``的字节数 超时。
..方法:: UART.readline()
读一行,以换行符结尾。
返回值:读取的行或超时时的“无”。
..方法:: UART.write(buf)
将字节缓冲区写入总线。
返回值:写入的字节数或超时时的“无”。
..方法:: UART.sendbreak()
在巴士上发送休息条件。这样可以将总线驱动一段时间 比正常传输角色所需的时间长。
only :: port_wipy