OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9390|回复: 7

万年历出现的问题

[复制链接]

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
899
金钱
899
注册时间
2012-6-29
在线时间
38 小时
发表于 2012-6-30 20:54:41 | 显示全部楼层 |阅读模式
我想通过外部按键来改变时间(比如:当我要改变月份的时候,我按一次,月份加1或减1),我该怎么处理???我用的是RTC时钟来做  求高手指点  
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-1 00:24:35 | 显示全部楼层
你自己写的代码,还是用我们的代码?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
899
金钱
899
注册时间
2012-6-29
在线时间
38 小时
 楼主| 发表于 2012-7-1 09:46:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
参考你们的代码自己写的
回复 支持 反对

使用道具 举报

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
899
金钱
899
注册时间
2012-6-29
在线时间
38 小时
 楼主| 发表于 2012-7-1 09:59:24 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
参考你们的代码自己写的回复【楼主位】catbal:
---------------------------------
刚修改了一下,用上你们的代码 也不行 (我按键那里用的是你们外部中断那里的代码)
回复 支持 反对

使用道具 举报

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
899
金钱
899
注册时间
2012-6-29
在线时间
38 小时
 楼主| 发表于 2012-7-1 10:32:39 | 显示全部楼层
回复【2楼】正点原子:
-
这是我在外部中断中添加的程序,想要的效果是  按下按键 年份加一年
--------------------------------
void EXTI15_10_IRQHandler(void)
{
   delay_ms(10);    //消抖  
 
    if(EXTI_GetITStatus(EXTI_Line13) != RESET)
{
//   LED0=!LED0;
timer.w_year++;
RTC_Set(timer.w_year,timer.w_month,timer.w_date,timer.hour,timer.min,timer.sec);
RTC_Get();
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-1 10:44:21 | 显示全部楼层
回复【5楼】catbal:
---------------------------------
现象是什么?
你的中断服务函数,没有清中断标记...会有问题的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

154

主题

263

帖子

0

精华

高级会员

Rank: 4

积分
899
金钱
899
注册时间
2012-6-29
在线时间
38 小时
 楼主| 发表于 2012-7-1 12:03:14 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
现象是 按下按键之后程序就死了 卡死了...应该有清了吧 
void EXTI15_10_IRQHandler(void)
{
   delay_ms(10);    //消抖  
 
    if(EXTI_GetITStatus(EXTI_Line13) != RESET)
{
//   LED0=!LED0;
timer.w_year++;
RTC_Set(timer.w_year,timer.w_month,timer.w_date,timer.hour,timer.min,timer.sec);
RTC_Get();
}
 
     else if (EXTI_GetITStatus(EXTI_Line15) != RESET)
{
// LED1=!LED1;
}
 EXTI_ClearITPendingBit(EXTI_Line13);  //清除EXTI13线路挂起位
 EXTI_ClearITPendingBit(EXTI_Line15);  //清除EXTI15线路挂起位
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-1 13:40:05 | 显示全部楼层
跟踪一下,看看是死在哪里.
另外,你非得用中断么?先用普通的扫描方式测试一下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 13:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表