查看ESP32 RTC的源代码
←
ESP32 RTC
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
==== rtc_set_wakeup_opt ==== <source lang=bash> 0x4008ff8c <rtc_set_wakeup_opt>: entry a1, 32 0x4008ff8f <rtc_set_wakeup_opt+3>: l32r a8, 0x4008ff84 <-- load the address of RTC_CNTL_WAKEUP_STATE_REG 0x4008ff92 <rtc_set_wakeup_opt+6>: l32r a11, 0x4008d188 <-- a11 = 0xffc007ff 0x4008ff95 <rtc_set_wakeup_opt+9>: memw 0x4008ff98 <rtc_set_wakeup_opt+12>: l32i.n a9, a8, 0 <-- Read the RTC_CNTL_WAKEUP_STATE_REG 0x4008ff9a <rtc_set_wakeup_opt+14>: extui a2, a2, 0, 11 <-- Extract the low 11 bits of 1st parameter 0x4008ff9d <rtc_set_wakeup_opt+17>: slli a10, a2, 11 <-- Shift left 11 0x4008ffa0 <rtc_set_wakeup_opt+20>: and a9, a9, a11 <-- RTC_CNTL_WAKEUP_STATE_REG & 0xffc007ff (only bitpos:[21:11]) 0x4008ffa3 <rtc_set_wakeup_opt+23>: or a9, a10, a9 <-- (RTC_CNTL_WAKEUP_STATE_REG & 0xffc007ff) | wakeup_opt 0x4008ffa6 <rtc_set_wakeup_opt+26>: memw 0x4008ffa9 <rtc_set_wakeup_opt+29>: s32i.n a9, a8, 0 <-- Write to RTC_CNTL_WAKEUP_STATE_REG 0x4008ffab <rtc_set_wakeup_opt+31>: l32r a8, 0x4008ff88 <--- load the address of RTC_CNTL_SLP_REJECT_CONF_REG 0x4008ffae <rtc_set_wakeup_opt+34>: memw 0x4008ffb1 <rtc_set_wakeup_opt+37>: s32i.n a3, a8, 0 <-- store the 2nd parameter into RTC_CNTL_SLP_REJECT_CONF_REG directly 0x4008ffb3 <rtc_set_wakeup_opt+39>: retw.n (gdb) x /1x 0x4008ff84 0x4008ff84: 0x3ff48038 (gdb) x /1x 0x4008d188 0x4008d188: 0xffc007ff (gdb) x /1x 0x4008ff88 0x4008ff88: 0x3ff48064 #define DR_REG_RTCCNTL_BASE 0x3ff48000 #define RTC_CNTL_SLP_REJECT_CONF_REG (DR_REG_RTCCNTL_BASE + 0x64) #define RTC_CNTL_WAKEUP_STATE_REG (DR_REG_RTCCNTL_BASE + 0x38) /* RTC_CNTL_GPIO_WAKEUP_FILTER : R/W ;bitpos:[22] ;default: 1'd0 ; */ /*description: enable filter for gpio wakeup event*/ #define RTC_CNTL_GPIO_WAKEUP_FILTER (BIT(22)) #define RTC_CNTL_GPIO_WAKEUP_FILTER_M (BIT(22)) #define RTC_CNTL_GPIO_WAKEUP_FILTER_V 0x1 #define RTC_CNTL_GPIO_WAKEUP_FILTER_S 22 /* RTC_CNTL_WAKEUP_ENA : R/W ;bitpos:[21:11] ;default: 11'b1100 ; */ /*description: wakeup enable bitmap*/ #define RTC_CNTL_WAKEUP_ENA 0x000007FF #define RTC_CNTL_WAKEUP_ENA_M ((RTC_CNTL_WAKEUP_ENA_V)<<(RTC_CNTL_WAKEUP_ENA_S)) #define RTC_CNTL_WAKEUP_ENA_V 0x7FF #define RTC_CNTL_WAKEUP_ENA_S 11 /* RTC_CNTL_WAKEUP_CAUSE : RO ;bitpos:[10:0] ;default: 11'h0 ; */ /*description: wakeup cause*/ #define RTC_CNTL_WAKEUP_CAUSE 0x000007FF #define RTC_CNTL_WAKEUP_CAUSE_M ((RTC_CNTL_WAKEUP_CAUSE_V)<<(RTC_CNTL_WAKEUP_CAUSE_S)) #define RTC_CNTL_WAKEUP_CAUSE_V 0x7FF #define RTC_CNTL_WAKEUP_CAUSE_S 0 </source> >>> So the rtc_set_wakeup_opt should be: void rtc_set_wakeup_opt(uint32_t wakeup_opt, uint32_t sleep_reject_conf); <br>
返回到
ESP32 RTC
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面