为什么我下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的IO口值为什么为1
【已解决】下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
-
- Posts: 16
-
- Posts: 16
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
或者说我怎么才能知道是哪个IO口引脚中断唤醒了
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
请提供您使用的芯片平台、SDK名称、SDK版本等信息
-
- Posts: 16
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
芯片平台:FR8018HA Bluetooth 芯片
SDK: FR8018HA_TuyaOS-3.9.0
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
如下图所示,FR8018HA_TuyaOS-3.9.0默认的代码中,rx_pin就是触发外部中断的引脚:
您截图中的代码看起来和默认代码似乎不一样,建议使用默认代码测试下看看。
-
- Posts: 16
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
现在用户有一个需求,当我插上TYPE-C后,Reset引脚会被置高电平,然后产生复位,如何在产生复位之前把数据写入flash,或者说复位后不清除该数据的RAM,使得我重新上电后可以读取数据,目前开发使用的是富芮坤的FR-8018HA芯片(这个问题能帮我看一下?)
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
您这个情况是硬件复位,是不可预知的,所以也不可能在复位前在软件上做任何处理;
硬件复位相当于重新上电,RAM里面的数据必然会被清除;
建议您考虑下从硬件角度来解决问题。
-
- Posts: 16
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
设置RAM2,,,前提是你的RAM空间要有0x8200的大小,,
在用at指定空间就可以了,比如:
unsigned char APP_MAC[6] attribute((at(0x20008000)));
这样只要不带电属于热启动就不会被初始化
(网上的这种说法是否可行,针对keil软件进行RAM设置)
-
- Posts: 16
Re: 下拉中断唤醒了,ool_read32(PMU_REG_GPIOA_V)函数读出来的中断IO口值为什么为1
变量属性修饰符attribute((section(“name”),zero_init))用于将变量强制定义到name属性数据节中,zero_init表示将未初始化的变量放到ZI数据节中。因为“NO_INIT”这显性命名的自定义节,具有UNINIT属性。
比如:unsigned char APP_MAC[6] attribute(((section(“NO_INIT”),zero_init));
唯一缺点是不能指定地址,同样不能初始化
(还有这种)