OpenEdv-开源电子网

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

关于R8025AC时钟芯片固定周期中断功能

[复制链接]

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2015-7-30 15:42:58 | 显示全部楼层 |阅读模式
5金钱
R8025AC固定周期中断功能:


通过设定寄存器0E实现中断输出,STM32中断接收,问题是我设置脉冲模式时可以,为啥改到电平模式就不行了呢(一直为低)?有没有用过的说说

R8025AC设置部分:
buf[0] = 0x24;//0010 0100,bit5:1 24小时制,bit2:0 INTA输出1HZ电平,即秒脉冲,下降与秒计时同步
R8025AC_Write(0x0E, buf, 1);//设置24小时制

中断部分:
[mw_shl_code=c,true]//外部中断0服务程序 void EXTIX_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; //初始化KEY0-->GPIOA.13,KEY1-->GPIOA.15 上拉输入 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);//使能PORTA,PORTE时钟 //初始化PE3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//输入输出设置,输入/输出/复用/模拟 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//输入模式,上拉 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//PE3 GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化GPIOE3 RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能SYSCFG时钟 SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource3);//PE3 连接到中断线3 /* 配置EXTI_Line3*/ EXTI_InitStructure.EXTI_Line = EXTI_Line3; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//中断事件 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发 EXTI_InitStructure.EXTI_LineCmd = ENABLE;//中断线使能 EXTI_Init(&EXTI_InitStructure);//配置 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;//外部中断3 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//抢占优先级2 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//子优先级2 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道 NVIC_Init(&NVIC_InitStructure);//配置 } //外部中断3服务程序 void EXTI3_IRQHandler(void) { EXTI_ClearITPendingBit(EXTI_Line3); //清除LINE3上的中断标志位 run_time++;//计时 data_deal_flag = 1;//数据处理的标志 time_flag = 1;//时间处理标志 } [/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

时间有点长忘记给自己的问题画个句号了。。。 其实答案就在这个时序图上,图上的意思是说当每次收到中断时你要手动把CTFG清0才能收到下一个脉冲!有些无语。。。怎么跟串口中断是的,要记得清中断。 其实,这个功能挺有用的,可以用来刷时间,当接收到中断刷新一次时间即可。也可以用作一些周期性任务,且保证跟时钟同步。 然而。。。当在实时系统里操作时就有麻烦了,时钟是共享资源啊,使用时要保护。本来可以把清CTFG放 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
 楼主| 发表于 2015-7-30 15:42:59 | 显示全部楼层
时间有点长忘记给自己的问题画个句号了。。。



其实答案就在这个时序图上,图上的意思是说当每次收到中断时你要手动把CTFG清0才能收到下一个脉冲!有些无语。。。怎么跟串口中断是的,要记得清中断。
其实,这个功能挺有用的,可以用来刷时间,当接收到中断刷新一次时间即可。也可以用作一些周期性任务,且保证跟时钟同步。
然而。。。当在实时系统里操作时就有麻烦了,时钟是共享资源啊,使用时要保护。本来可以把清CTFG放在中断里的,在操作系统里这样操作就是一个很坏的主意。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-7-30 20:39:23 | 显示全部楼层
没用过,帮顶。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2019-6-15
在线时间
36 小时
发表于 2019-6-16 10:56:28 | 显示全部楼层
楼主你好,我在调试固定周期中断时,碰到一个问题脉冲一直不能输出(一直为低),要产生脉冲是只需要配置0x0E寄存器吧
回复

使用道具 举报

4

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2019-6-15
在线时间
36 小时
发表于 2019-6-16 13:15:43 | 显示全部楼层
楼主,刚才的问题解决了,外部中断配置时忘了把时钟打开了(给自己一大嘴巴子),电平模式如何有什么作用呢?你说的刷时间是什么意思?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 16:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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