micropython编程爱好网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 127267|回复: 11

TimerWiPy 类——控制硬件定时器

[复制链接]

24

主题

24

帖子

2500

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2500
发表于 2022-1-20 09:57:35 | 显示全部楼层 |阅读模式
TimerWiPy 类——控制硬件定时器
笔记

此类是 WiPy 的非标准 Timer 实现。它就像machine.Timer 在 WiPy 上一样可用,但在下面的文档中命名,machine.TimerWiPy 以将其与更通用的machine.Timer类区分开来。


* S  m. y8 b" D+ l- U

硬件计时器处理周期和事件的计时。定时器可能是 MCU 和 SoC 中最灵活和异构的硬件,从模型到模型差异很大。MicroPython 的 Timer 类定义了在给定时间段内(或在一些延迟后一次)执行回调的基线操作,并允许特定板定义更多非标准行为(因此不能移植到其他板)。

请参阅有关 Timer 回调的 重要约束的 讨论。

笔记

无法在 irq 处理程序(中断)内分配内存,因此在处理程序中引发的异常不会提供太多信息。有关 micropython.alloc_emergency_exception_buf()如何解决此限制的信息,请参阅 。

6 a6 |* s7 i2 y! O/ C
构造函数classmachine.TimerWiPy(id, ...)

构造给定 id 的新计时器对象。-1 的 ID 构造一个虚拟计时器(如果板支持)。


8 q. Z# g8 Z# k8 r) q% N& j方法TimerWiPy.init(mode, *, width=16)

初始化定时器。例子:

  1. tim.init(Timer.PERIODIC)             # periodic 16-bit timer
    0 }" g% C; p: b; S
  2. tim.init(Timer.ONE_SHOT, width=32)   # one shot 32-bit timer
复制代码

. a. m( o3 v( t( {+ n  {- i. A4 d4 \3 N; d8 K/ F0 d- f
/ v; |* L1 L$ E8 A5 m

关键字参数:

  • mode 可以是以下之一:

    • TimerWiPy.ONE_SHOT - 定时器运行一次,直到通道的配置周期到期。

    • TimerWiPy.PERIODIC - 定时器以通道的配置频率定期运行。

    • TimerWiPy.PWM - 在引脚上输出 PWM 信号。


      ! @9 T! r" `7 O8 ?0 N4 m
  • width必须是 16 或 32(位)。对于< 5Hz(或大周期)的非常低的频率,应使用 32 位定时器。32 位模式仅适用于ONE_SHOT 和PERIODIC 模式。

    3 V( U4 \+ J/ u" f, }6 G. F5 B" I2 L
$ V5 ^  z/ D$ E9 a( p+ ~
TimerWiPy.deinit()

取消初始化定时器。停止定时器,并禁用定时器外设。

TimerWiPy.channel(channel, **, freq, period, polarity=TimerWiPy.POSITIVE, duty_cycle=0)

如果仅传递通道标识符,则返回先前初始化的通道对象(或者None如果没有先前的通道)。

否则,初始化并返回一个 TimerChannel 对象。

操作模式是配置到用于创建通道的 Timer 对象的模式。

  • channel 如果定时器的宽度是 16 位,则必须是TIMER.A, TIMER.B。如果宽度是 32 位,那么它必须是 . TIMER.A | TIMER.B.


    3 Z2 B% e: `8 R

仅关键字参数:

  • freq以Hz为单位设置频率。

  • period 以微秒为单位设置周期。


    ' ~8 Y- S) U+ @3 d$ Q. m: Z3 M
笔记

无论 freq 或者 period 必须给出,不可能兼顾。

) _  M2 `& ?. @# @
  • polarity 这适用于 PWM,并定义了占空比的极性

  • duty_cycle 仅适用于 PWM. 这是一个百分比(0.00-100.00)。由于 WiPy 不支持浮点数,因此必须在 0-10000 范围内指定占空比,其中 10000 表示 100.00,5050 表示 50.50,依此类推。

    $ w" _0 Y" q* l! u
" v/ x* x# \  R
笔记

当通道处于 PWM 模式时,会自动分配相应的引脚,因此无需通过Pin 类分配引脚的复用功能。支持 PWM 功能的引脚如下:

  • GP24 在定时器 0 通道 A 上。

  • GP25 在定时器 1 通道 A 上。

  • GP9 在定时器 2 通道 B 上。

  • GP10 在定时器 3 通道 A 上。

  • GP11 在定时器 3 通道 B 上。

    9 A( b4 L' T8 p' x$ i

' Z- @( |/ }% b+ O0 z0 p$ a% |& ~7 k  h$ T& }
6 G2 W7 r! l7 r$ s
类 TimerChannel — 为计时器设置通道

定时器通道用于使用定时器生成/捕获信号。

TimerChannel 对象是使用 Timer.channel() 方法创建的。

方法timerchannel.irq(*, trigger, priority=1, handler=None)

此回调的行为在很大程度上取决于计时器通道的操作模式:

  • 如果 mode 是 TimerWiPy.PERIODIC回调,则以配置的频率或周期定期执行。

  • 如果 mode 是TimerWiPy.ONE_SHOT 回调,则在配置的计时器到期时执行一次。

  • 如果 mode 是 TimerWiPy.PWM则在达到占空比值时执行回调。

    ) ~6 V7 A8 @8 j  ]% Q* V, L
3 y: ]2 N+ _# w1 D

接受的参数是:

  • priority 中断级别。可以取 1-7 范围内的值。更高的值代表更高的优先级。

  • handler 是触发中断时调用的可选函数。

  • trigger TimerWiPy.TIMEOUT 当操作模式为 TimerWiPy.PERIODIC 或 时必须为 TimerWiPy.ONE_SHOT。在模式为TimerWiPy.PWM 触发的情况下,必须等于 TimerWiPy.MATCH。

    6 I0 Y! o8 {3 W6 s5 f
2 r2 m  H7 f* _6 s& y7 F) T

返回一个回调对象。

timerchannel.freq([value)

获取或设置定时器通道频率(以赫兹为单位)。

timerchannel.period([value)

获取或设置定时器通道周期(以微秒为单位)。

timerchannel.duty_cycle([value)

获取或设置 PWM 信号的占空比。这是一个百分比(0.00-100.00)。由于 WiPy 不支持浮点数,因此必须在 0-10000 范围内指定占空比,其中 10000 表示 100.00,5050 表示 50.50,依此类推。

6 A! p8 {, S* r* E
常数TimerWiPy.ONE_SHOTTimerWiPy.PERIODIC

定时器操作模式。


" i5 @+ }- n/ Q% B7 X' }! X: P! u- ~

/ f  ]0 |- b' E, h  r4 q+ `4 q/ J0 S  i# d0 h$ V. J5 O. P/ F
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-1-24 19:24:51 | 显示全部楼层

-

Completely I share your opinion. In it something is and it is good idea. It is ready to support you.
http://defloration.gq/
回复

使用道具 举报

0

主题

1

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
发表于 2022-1-26 13:50:38 | 显示全部楼层

скачать базы для хрумера 2021

база для хрумера купить . z0 B! v1 {8 c7 Q, K7 C  ^
Вы занимаетесь продвижением сайтов? Тогда вам к нам. У нас вы можете выбрать любую нужную для вашей работы базу для прогонов Xrumer и GSA, allsubmitter по разной ценовой категории.базы каталогов для хрумера
+ T0 Q" L% F1 tXrumer и GSA, allsubmitter
) O, m  m9 i4 S; N' KЕсли Вы хотите, чтоб Ваш сайт привлекал как можно больше посетителей, то нужно, чтоб он был не только полезным и удобным, но и хорошо оптимизированным для поисковиков. Это потребует немало усилий и затрат, однако если хотите здорово ускорить процесс и ощутимо поднять сайт в результате выдачи, то можно использовать прогон сайта хрумером. Таким образом Вы можете не только быстрей получить желаемый результат, но и даже сэкономить время и деньги. $ m: v5 Z* M7 {8 E4 ~# Q* S
7 m" X" c) Z5 ?# w4 l# |+ h% g1 _
Хрумер — это софт для массовой рассылки комментариев на различные блоги, сайты, доски объявлений и даже социальные сети. Прогон по форумам происходит автоматически, ведь алгоритмы программы способны самостоятельно регистрировать аккаунты на сайтах, обходить капчи и любую другую защиту от автоматических регистраций и публикаций. Данный программный продукт развивается уже много лет и может работать с разнообразными CMS. ; n3 @  }* \4 D+ L

( p4 v- D: p) L; u+ SЧто же произойдет, если заказать прогон хрумером? Все дело в том, что поисковики постоянно проводят анализ ссылочной массы и сайты, на которые существует больше ссылок, находятся выше в выдаче. Прогон сайта хрумером по форумам увеличивает ссылочную массу вашего ресурса, публикуя повсюду рекламные комментарии. Поисковики считают их реальными упоминаниями, индексируют их и выводят в топ выдачи по нужным запросам, и впоследствии на эти результаты поиска приходят реальные пользователи. 9 m! k' p' y3 n- o7 M, |( r  B
8 L2 B9 G" K. ]# ?2 w- c3 a) s
Данный метод крайне эффективен, однако в продвижении не стоит переусердствовать, иначе можно получить обратный эффект - поисковики могут вовсе удалить сайт из выдачи или значительно понизить его. Именно поэтому важно понимать сколько нужно ссылок, размещать их по определенным правилам и сделать прогон сайта, используя относительно безопасные методы. Мы в этом деле обладаем большим опытом и всегда готовы помочь нашим клиентам. Еще никогда не было так просто заказать прогон хрумером у профессионалов и получить действительно ощутимый результат в виде повышения трафика и реально заинтересованных пользователей. Все подробности можно узнать на данной странице и воспользоваться нашими услугами по прогону хрумером.
6 n: o9 A/ |/ v, B+ D 5 w, o+ ~9 ~4 k/ |7 Y3 h
$ K4 ?  \' _' m9 E/ I" V- }' Q
RHzs43hgndIpuiSy
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-1-29 02:08:03 | 显示全部楼层

-

Things are going swimmingly.
http://defloration.gq/
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-2-2 01:39:59 | 显示全部楼层

-

Quite right! It seems to me it is excellent idea. I agree with you.
http://defloration.gq/
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-2-8 04:56:54 | 显示全部楼层

-

Let's talk, to me is what to tell.
http://defloration.gq/
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-3-1 10:05:34 | 显示全部楼层

-

In my opinion you are not right. I am assured. Write to me in PM.
http://defloration.gq/
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-3-20 08:59:43 | 显示全部楼层

-

Such is a life. There's nothing to be done.
http://defloration.gq/
回复

使用道具 举报

0

主题

98

帖子

510

积分

高级会员

Rank: 4

积分
510
发表于 2022-3-23 12:11:36 | 显示全部楼层

-

I apologise, but you could not paint little bit more in detail.
http://defloration.gq/
回复

使用道具 举报

0

主题

3

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-7-8 00:03:43 | 显示全部楼层

-

And where logic?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|micropython编程爱好网 ( 粤ICP备14010847号-3 ) microPython技术交流 microPython技术交流2

粤公网安备 44030702001224号

GMT+8, 2024-10-15 21:39 , Processed in 0.109200 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表