Go Ticker正确的使用姿势

简介

Ticker是周期性定时器,即周期性的触发一个事件,通过Ticker本身提供的管道将事件传递出去。

Ticker的数据结构与Timer完全一致:

type Ticker struct {
	C <-chan Time
	r runtimeTimer
}

Ticker对外仅暴露一个channel,指定的时间到来时就往该channel中写入系统时间,也即一个事件。

在创建Ticker时会指定一个时间,作为事件触发的周期。这也是Ticker与Timer的最主要的区别。

另外,ticker的英文原意是钟表的"滴哒"声,钟表周期性的产生"滴哒"声,也即周期性的产生事件。

使用场景

简单定时任务

有时,我们希望定时执行一个任务,这时就可以使用ticker来完成。

下面代码演示,每隔1s记录一次日志:

// TickerDemo 用于演示tic
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中的代码片段展示了如何使用SSD1306驱动库和QRcode库来控制OLED显示屏和生成二维码。这段代码中,首先包含了所需的库文件,然后初始化了OLED显示屏和二维码生成器。在setup函数中,创建了一个字符串并将其转换为二维码,然后在loop函数中没有任何操作。这段代码的作用是在OLED显示屏上显示一个带有"hello world!"文本的二维码。 引用\[2\]中的代码片段展示了如何使用base64库来对字符串进行编码。这段代码中,首先包含了所需的库文件,然后在setup函数中将一个测试字符串进行base64编码,并将结果打印出来。在loop函数中没有任何操作。这段代码的作用是将一个字符串进行base64编码并打印出编码结果。 至于引用\[3\]中的OTA更新,它是一种通过WiFi连接而不是串行端口将固件加载到ESP模块的方法。在Arduino IDE中,可以使用OTA功能来进行固件烧写。通过Web浏览器手动提供应用程序更新,或者使用HTTP服务器自动提供应用程序更新。这种方法可以方便地对ESP32进行固件更新,而无需使用串行端口进行烧写。 综上所述,引用\[1\]中的代码片段展示了如何使用SSD1306驱动库和QRcode库来控制OLED显示屏和生成二维码,引用\[2\]中的代码片段展示了如何使用base64库对字符串进行编码,而引用\[3\]中的OTA更新是一种通过WiFi连接进行固件加载的方法。 #### 引用[.reference_title] - *1* *2* *3* [玩转 ESP32 + Arduino (七) Ticker定时库,base64转换,OTA, SSD1306显示QRcode二维码](https://blog.csdn.net/finedayforu/article/details/108464929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值