查看ESP32 RTC的源代码
←
ESP32 RTC
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
==== rtc_pad_gpio_wakeup ==== Only available in light sleep mode <source lang=bash> 0x4008edfc <rtc_pad_gpio_wakeup>: entry a1, 32 0x4008edff <rtc_pad_gpio_wakeup+3>: mov.n a10, a2 0x4008ee01 <rtc_pad_gpio_wakeup+5>: movi.n a11, 1 0x4008ee03 <rtc_pad_gpio_wakeup+7>: call8 0x4008d2f4 <rtc_pads_muxsel> /* rtc_pads_muxsel(p1, 1) */ 0x4008ee06 <rtc_pad_gpio_wakeup+10>: mov.n a10, a2 0x4008ee08 <rtc_pad_gpio_wakeup+12>: movi.n a11, 0 0x4008ee0a <rtc_pad_gpio_wakeup+14>: call8 0x4008d54c <rtc_pads_funsel> /* rtc_pad_funsel(p1, 0) */ 0x4008ee0d <rtc_pad_gpio_wakeup+17>: l32r a8, 0x4008edf4 /* a8 = 0x3ff4840c, RTC_GPIO_ENABLE_REG */ 0x4008ee10 <rtc_pad_gpio_wakeup+20>: movi.n a9, -1 /* a9 = 0xffff ffff */ 0x4008ee12 <rtc_pad_gpio_wakeup+22>: memw 0x4008ee15 <rtc_pad_gpio_wakeup+25>: l32i.n a10, a8, 0 /* a10 = read RTC_GPIO_ENABLE_REG */ 0x4008ee17 <rtc_pad_gpio_wakeup+27>: xor a9, a9, a2 /* a9 = ~p1 = p1 ^ 0xffff ffff */ 0x4008ee1a <rtc_pad_gpio_wakeup+30>: and a9, a9, a10 /* a9 = a9 & RTC_GPIO_ENABLE_REG */ 0x4008ee1d <rtc_pad_gpio_wakeup+33>: memw 0x4008ee20 <rtc_pad_gpio_wakeup+36>: s32i.n a9, a8, 0 0x4008ee22 <rtc_pad_gpio_wakeup+38>: mov.n a10, a2 0x4008ee24 <rtc_pad_gpio_wakeup+40>: movi a11, 1 0x4008ee27 <rtc_pad_gpio_wakeup+43>: call8 0x4008d794 <rtc_pads_slpsel> /* rtc_pads_slpsel(p1, 1) */ 0x4008ee2a <rtc_pad_gpio_wakeup+46>: mov.n a10, a2 0x4008ee2c <rtc_pad_gpio_wakeup+48>: movi a11, 0 0x4008ee2f <rtc_pad_gpio_wakeup+51>: call8 0x4008d9dc <rtc_pads_slpoe> /* rtc_pads_slpoe(p1, 0) */ 0x4008ee32 <rtc_pad_gpio_wakeup+54>: mov.n a10, a2 0x4008ee34 <rtc_pad_gpio_wakeup+56>: movi a11, 1 0x4008ee37 <rtc_pad_gpio_wakeup+59>: call8 0x4008db68 <rtc_pads_slpie> /* rtc_pads_slpie(p1, 1) */ 0x4008ee3a <rtc_pad_gpio_wakeup+62>: mov.n a10, a2 0x4008ee3c <rtc_pad_gpio_wakeup+64>: movi a11, 1 0x4008ee3f <rtc_pad_gpio_wakeup+67>: call8 0x4008dcf0 <rtc_pads_funie> /* rtc_pads_funie(p1, 1) */ 0x4008ee42 <rtc_pad_gpio_wakeup+70>: mov.n a10, a2 0x4008ee44 <rtc_pad_gpio_wakeup+72>: movi.n a11, 0 0x4008ee46 <rtc_pad_gpio_wakeup+74>: call8 0x4008de78 <rtc_pads_pu> /* rtc_pads_pu(p1, 0) */ 0x4008ee49 <rtc_pad_gpio_wakeup+77>: mov.n a10, a2 0x4008ee4b <rtc_pad_gpio_wakeup+79>: movi.n a11, 0 0x4008ee4d <rtc_pad_gpio_wakeup+81>: call8 0x4008e000 <rtc_pads_pd> /* rtc_pads_pd(p1, 0) */ 0x4008ee50 <rtc_pad_gpio_wakeup+84>: extui a3, a3, 0, 3 /* a3 = p2[2:0] */ 0x4008ee53 <rtc_pad_gpio_wakeup+87>: l32r a8, 0x4008edf0 /* a8 = *(0x4008edf0) = 0x3ff48428, RTC_GPIO_PIN0_REG */ 0x4008ee56 <rtc_pad_gpio_wakeup+90>: l32r a10, 0x4008edf8 /* a10 = *(0x4008edf8) = 0x3ff48470 */ /* RTC_GPIO_PIN17_REG addr is 0x3ff4846c */ 0x4008ee59 <rtc_pad_gpio_wakeup+93>: slli a14, a3, 7 /* a14 = p2[2:0] << 7 */ 0x4008ee5c <rtc_pad_gpio_wakeup+96>: movi.n a9, 1 0x4008ee5e <rtc_pad_gpio_wakeup+98>: movi a13, 0x400 0x4008ee61 <rtc_pad_gpio_wakeup+101>: movi a12, 0xfffffc7f 0x4008ee64 <rtc_pad_gpio_wakeup+104>: bnone a9, a2, 0x4008ee84 <rtc_pad_gpio_wakeup+136> /* branch; if (a9 & a2 == 0); */ 0x4008ee67 <rtc_pad_gpio_wakeup+107>: memw 0x4008ee6a <rtc_pad_gpio_wakeup+110>: l32i.n a11, a8, 0 /* a11 = read RTC_GPIO_PINx_REG */ 0x4008ee6c <rtc_pad_gpio_wakeup+112>: or a11, a11, a13 /* a11 = RTC_GPIO_PINx_REG | 0x400 */ 0x4008ee6f <rtc_pad_gpio_wakeup+115>: memw 0x4008ee72 <rtc_pad_gpio_wakeup+118>: s32i.n a11, a8, 0 /* write to RTC_GPIO_PINx_REG */ 0x4008ee74 <rtc_pad_gpio_wakeup+120>: memw 0x4008ee77 <rtc_pad_gpio_wakeup+123>: l32i.n a11, a8, 0 /* a11 = read RTC_GPIO_PINx_REG */ 0x4008ee79 <rtc_pad_gpio_wakeup+125>: and a11, a11, a12 /* a11 = RTC_GPIO_PINx_REG & 0xfffffc7f */ 0x4008ee7c <rtc_pad_gpio_wakeup+128>: or a11, a11, a14 /* a11 |= (p2[2:0] << 7) */ 0x4008ee7f <rtc_pad_gpio_wakeup+131>: memw 0x4008ee82 <rtc_pad_gpio_wakeup+134>: s32i.n a11, a8, 0 /* write to RTC_GPIO_PIN0_REG */ 0x4008ee84 <rtc_pad_gpio_wakeup+136>: addi.n a8, a8, 4 /* a8 = 0x3ff48428 + i*4, RTC_GPIO_PINx_REG */ 0x4008ee86 <rtc_pad_gpio_wakeup+138>: slli a9, a9, 1 /* a9 <<= 1 */ 0x4008ee89 <rtc_pad_gpio_wakeup+141>: bne a8, a10, 0x4008ee64 <rtc_pad_gpio_wakeup+104> /* branch; if (a8 != a10); */ 0x4008ee8c <rtc_pad_gpio_wakeup+144>: retw.n </source> So: <source lang=c> typedef enum { RTC_GPIO0 = BIT(0), RTC_GPIO1 = BIT(1), ...... ...... RTC_GPIO17 = BIT(17) } rtc_gpio_num_t; /* * int_type: * 0: GPIO interrupt disable * 1: rising edge * 2: falling edge trigger * 3: any edge trigger * 4: low level trigger * 5: high level trigger */ void rtc_pad_gpio_wakeup(rtc_gpio_num_t rtc_pad, uint8_t int_type); </source> <br>
返回到
ESP32 RTC
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面