当前位置: 首页> 汽车> 维修 > 在STM32F4上获得秒事件

在STM32F4上获得秒事件

时间:2025/9/18 5:05:52来源:https://blog.csdn.net/csaaa2005/article/details/142283312 浏览次数: 0次

众所周知,STM32F4系列取消了F1上才有的秒中断,如果在百度上搜索“STM32F4 秒中断” ,第一条结果就会显示一个AI生成的结果,显示如下:

上面的图片就是我直接截图的,用的头文件是F4的,但是定义的中断却是F1的,这简直就是极大的误导,因为F4上根本没有RTC_IRQ,这说明当下的所谓的AI,特别是百度这类骗钱的公司,充其量也就是找个结果复制粘贴而已,想要达到替代人类的地步,是完全没可能的,也就骗骗没知识的人罢了,特别是一旦涉及到专业领域,AI结果简直是漏洞百出,我大胆预测10年内,所谓的AI将沦为娱乐项目。

不啰嗦了,我就是来告诉大家,在F4上到底应该怎样实现一个秒中断或者是事件。这方面其实很多例程中已经给出了完整的代码,其实就是使用了定时唤醒事件中断的功能。在这里我想只要简化的代码,用最少的几句话就实现他。

void RTC_Set_WakeUp(u32 wksel,u16 cnt)
{ EXTI_InitTypeDef   EXTI_InitStructure;	RTC_WakeUpCmd(DISABLE);//关闭WAKE UP	RTC_WakeUpClockConfig(wksel);//唤醒时钟选择	RTC_SetWakeUpCounter(cnt);//设置WAKE UP自动重装载寄存器		RTC_ClearITPendingBit(RTC_IT_WUT); //清除RTC WAKE UP的标志	 //RTC_ITConfig(RTC_IT_WUT,ENABLE);//开启WAKE UP 定时器中断RTC_WakeUpCmd( ENABLE);//开启WAKE UP 定时器 
}

调用方法:
RTC_Set_WakeUp(RTC_WakeUpClock_CK_SPRE_16bits,1);//产生1秒一次的RTC_FLAG_WUTF事件,

然后就可以通过中断的方式,或者查询的方式:

if(RTC_GetFlagStatus(RTC_FLAG_WUTF)==SET)
    { 
     ....

        RTC_ClearFlag(RTC_FLAG_WUTF);

    }

得到中断事件了。

大部分的例子给出的都是中断+唤醒的代码,将不需要的唤醒代码去掉就行了。

最后,我再次强调,AI不靠谱,AI没有真才实学,用AI的人会失业,设计AI算法的人才有真才实学,他们永远不会失业。

关键字:在STM32F4上获得秒事件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: