- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32在SRAM中调试部分中断不响应的问题
stm32在SRAM中调试部分中断不响应的问题
?
?因为stm32在flash区擦写的次数有限,所以我选择在sram中调试,SRAM擦除次数无限次,不过掉电代码就消失。代码放在SRAM中,对于我们调试是非常有帮助的。(我用的是原子的开发板)
????最近这几天发现,在SRAM中调试,部分中断不响应的问题,比如RTC秒中断,明明使能了秒中断,可是总是卡在某个地方不动,然后怎么也进入不了中断。下面是我的代码。结合代码说明问题吧。
?
rtc.h文件中代码
?
#ifndef __RTC_H#define __RTC_H
typedef struct{?u8 m;?u8 h;?u8 s;}calendar;extern calendar rl;extern u8 tim_bz;u8 RTC_Init(void);
#endif
rtc.c文件中代码
#include sys.h#include delay.h#include rtc.hu8 tim_bz=0;calendar rl;u8 RTC_Init(void){?u8 temp = 0;?if(BKP-DR1 != 0X5050)//检测是不是第一次配置,后面会有向BKP-DR1写数据的语句?{??//1,使能电源时钟和备份区域时钟??RCC-APB1ENR |= 128;//电源接口时钟使能??RCC-APB1ENR |= 127;//备份接口时钟使能
??//2,取消备份区域写保护,需要向备份区域写??//一个字节来标记时钟已经配置过了,避免每次复位启动??PWR-CR |= 18;//取消后备区域的写保护????//3,复位备份区域,开启外部低速振荡器??RCC-BDCR |= 116;//备份域软件复位??RCC-BDCR = ~(116);//备份域软件复位清,因为备份域软件复位要由软件清除,且不能一直复位。???RCC-BDCR |= 10;//外部低速时钟使能??while((!(RCC-BDCR0X02))temp250)//判断rtc外部低速振荡器是否就绪??{???temp++;???delay_ms(10);??}
??if(temp=250)return 1;//初始化失败,外部晶振有问题
??//4,选择RTC时钟源并使能??RCC-BDCR |= 18;//LSE振荡器作为rtc时钟??RCC-BDCR |= 115;//RTC时钟使能??while(!(RTC-CRL(15)));//等待rtc写操作完成??while(!(RTC-CRL(13)));//等待RTC寄存器和APB1接口同步??RTC-CRH |= 0x01;//允许秒中断??while(!(RTC-CRL(15)));//等待rtc写操作完成??RTC-CRL |= 14;//允许配置RTC寄存器
??RTC-PRLH = 0x0000;??RTC-PRLL |=32767;//设置RTC时钟频率为1hz??RTC-CNTL = 0x0005;??RTC-CNTH = 0X0000;??RTC-CRL = ~(14);//配置更新??while(!(RTC-CRL(15)));//等待rtc写操作完成??RTC-CRL = ~(15);//rtc操作关闭??BKP-DR1 = 0X5050;?}?else?{??while(!(RTC-CRL(13)));//等待RTC寄存器和APB1接口同步??RTC-CRH |= 0x01;//允许秒中断??while(!(RTC-CRL(15)));//等待rtc写操作完成???}?MY_NVIC_Init(0,0,RTC_IRQn,2);//设置中断?return 0;}
void RTC_IRQHandler(void){?if(RTC-CRL0X01)?{??tim_bz = 1;//进入中断标志,等下判断是否发生中断??RTC-CRL = ~(10);//清除秒标志??while(!(RTC-CRL(15)));//等待rtc写操作完成????}}
?
?
主函数代码
#include sys.h#include usart.h??#include delay.h?#include led.h#include beep.h???#include key.h???#include exti.h???#include wdg.h ?#include timer.h????#include tpad.h????#include lcd.h#include rtc.h????
int
您可能关注的文档
最近下载
- 2025年电子物证初级试卷及答案.doc VIP
- 烟雾病和烟雾综合征诊断与治疗中国专家共识(2024版).pptx VIP
- Q/CR 549.5-2016 铁路工程土工合成材料 第5部分:土工布.PDF VIP
- GB50168-2018 电气装置安装工程 电缆线路施工及验收标准.pdf VIP
- 人行天桥钢箱梁施工方案.doc VIP
- 建筑工程领域AI应用现状与趋势研究报告 -AI in AEC.docx
- 第5講移民实边:明清时期的边疆移民(4课时).ppt VIP
- 新人教版四年级上册道德与法治精编知识点(背诵用).doc
- 冶金企业全要素评估表(人机物环管).docx VIP
- 一种建筑工程管理用安全防护栏.pdf VIP
原创力文档


文档评论(0)