rtcc冒险岛闹钟大厅怎么去中断为什么进不去,会是什么原因

Alarm相关帖子
概述该器件集成了CPU 内核, RAM, ROM, 定时器, LCD 驱动器, I/O 端口, R-F转换器,ALARM频率发生器。适用于LCD 显示和GPIO控制类的消费类产品应用。 特性
■ 液晶驱动型4位单片机■ MTP ROM:2048 X 16 bits■ RAM: 64X 4 bits& && && &&nbsp...
概述该器件集成了CPU 内核, RAM, ROM, 定时器, LCD 驱动器, I/O 端口, R-F转换器,ALARM频率发生器。适用于LCD 显示和GPIO控制类的消费类产品应用。 特性
■ 液晶驱动型4位单片机■ MTP ROM:2048 X 16 bits■ RAM: 64X 4 bits& && && &&nbsp...
概述该器件集成了CPU 内核, RAM, ROM, 定时器, LCD 驱动器, I/O 端口, R-F转换器,ALARM频率发生器。适用于LCD 显示和GPIO控制类的消费类产品应用。 特性
■ 液晶驱动型4位单片机■ MTP ROM:2048 X 16 bits■ RAM: 64X 4 bits& && && &&nbsp...
;&&cnt_reset : OUT STD_LOGIC; --Give out a singal to reset the counter
& &&&alarm_en : OUT STD_LOGIC --Give out a signal to the alarm clock
ALT.CURR.OUTPUT 高音、电流、输出
SET MAX.ALARM 设置上限报警
⑤TRANSMITTER INFO 发射器、变送器信息
HART DATA HART数据
TRANSMITTER DATA 发射器、变送器数据
PROCESS CONNECTION 过程连接
SENSOR DATA 传感器数据
⑥PROCESS INFO 过程信息
PROCESS VALUES...
void Alarm(uchar t)
& & & & for(i = 0;i &i++)
& & &nbsp...
;channel : &flood_alarm_signal&,
& && && && &message : txMessage
& && &&&nbsp...
;&var publishConfig = {
& && && && &channel : &flood_alarm_signal&,
& && && && &message : txMessage
,可以有多行。$x=valueSave&&Grbl setting设置Grbl参数并保存到Rom中。$Nx=lineSave&&startup block设置一条启动G代码指令并保存到Rom中。$CCheck&&gcode mode检测G代码的运行过程。$XKill&&alarm lock清除警告时的锁状态...
# configure RTC.ALARM0 to be able to wake the device
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# check if the device woke from a deep sleep
set_time();
void set_alarm(uchar,uchar,uchar);
uchar read_ds(uchar);
void write_ds(uchar,uchar);
void main()
& & scale=100;
& & & & init();
& & &nbsp...
=35;& & & & & & & & //默认初始工作范围在20~45°之间
bit HI_Alarm=0;& & & & & & & && &&&// 报警标志位
bit flag...
& &Support calling/called detection
& &Support call alert
& &Support remote monitoring
& &Support emergency alarm
& &Support killing in a long...
flag=1,hour=0,min=0,sec=0,hour1=0,min1=0;
bit year=0,month=0,day=0,week=0;
bit alarm_flag=0;
uchar H1,H2,H_3,IR_LED1,IR_LED2,
uchar L1=0,L2=0;
uchar timecount=0,count=0;
uchar code str1...
;0 将信号传给进程组识别码为pid绝对值的所有进程
参数sig代表的信号:&&Signal&&DescriptionSIGABRT由调用abort函数产生,进程非正常退出SIGALRM用alarm函数设置的timer超时或setitimer函数设置的interval timer超时SIGBUS某种特定的硬件异常,通常由内存访问引起SIGCANCEL...
seconds秒函数返回: 执行成功则返回0参数说明: seconds指定秒数所属文件: &unistd.h&
函数原型: void usleep(unsigned long usec)函数功能: 使程序睡眠usec微秒函数返回: 空参数说明: usec指定微秒数所属文件: &unistd.h&
闹钟函数alarm:函数原型: unsigned int alarm...
& & & & Chip_RTC_SetCount(LPC_RTC, 0);
& & & & /* Set a long alarm time so the interrupt won\'t trigger */
& & & & Chip_RTC_SetAlarm...
: RTC user alarm
& && &&&case RTC_RTCAIFG:
& && && && &
& && &&&// Vector RTC_RT0PSIFG: RTC...
; Systerm_Clock_Config();
& & set_rtc_default();//
& & rtc_alarm_set(CALENDAREVENT,defaultTime,RTC_B_CALENDAREVENT_MINUTECHANGE);//设置RTC每分钟的中断事件模式,并开启中断
& &RTC_B_startClock...
; &&&Alarm &, DOGS102x6_DRAW_NORMAL);
& & Dogs102x6_stringDraw(6, 0, &Wait for a moment&, DOGS102x6_DRAW_INVERT);
& & Dogs102x6_stringDraw(7, 0, &quot...
你可能感兴趣的标签
热门资源推荐为啥我的STM32 进入停止模式,外部中断没有响应_百度知道
为啥我的STM32 进入停止模式,外部中断没有响应
我有更好的答案
stm的四种不同模式:run,stop,sleep,standby是可以设置的,如果没有设置不会进入的停止模式。可以参考所选的IC的datasheet!
采纳率:9%
同问?我的也是,功耗比stop模式前少了10mA左右,但是外部中断及RTC闹钟中断都进不去??补充
为您推荐:
其他类似问题
您可能关注的内容
外部中断的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机做闹钟程序中,如何用定时器中断计时一个时间,闹钟时间到时就响,比如一分钟后就停止响。_百度知道
单片机做闹钟程序中,如何用定时器中断计时一个时间,闹钟时间到时就响,比如一分钟后就停止响。
//P32为蜂鸣器口
void init() interrupt 1
void main()
TMOD=0x01;
if(ucCurtime[1]==lock_time[1]&&ucCurtime[2]==lock_time[0] &&flag...
我有更好的答案
1设置变量uchar TC_20ms;20毫秒计数uchar TC_100ms;100毫秒计数uchar TC_1s;1秒计数uchar TC_60s;60秒计数uchar TC_3600s;1小时计数uchar TF_200ms;20毫秒到时标记uchar TF_100ms;100毫秒到时标记uchar TF_1s;1秒到时标记uchar TF_60s;60秒到时标记uchar TF_3600s;1小时到时标记 用定时器定时产生20ms定时void init() interrupt 1//定时常数=65535-(晶体频率/分频数*定时周期)-20{//重装定时器;TF_20MS=1;TC_20MS++;if(TC_20MS==5){TC_20MS=0;
TF_100MS=1;
TC_100MS++;
if(GC_100MS==10)
{TC_100MS=0;
if(TC_1S==60){
}}main(){unsigned long waiting_time_s=10000;unsigned long beep_time_100ms=100;unsigned long sys_time_s;unsigned long beep_100 //初始化定时器;while(1){if(TF_1S==1){sys_time_s++;TF_1S=0;}if(sys_time_s&=waiting_time_s){if(TF_100MS==1){beep_100ms++;TF_100MS=0;}if(beep_time_100ms&beep_100ms) beep();//响铃函数}} }///仅仅是思路,希望有帮助。
这个程序应该是不能实现你想的功能的吧?这样的经典程序网上有很多,百度文库里应该也有不少,去看看参考下吧。单片机的数据手册也有关于中断等的介绍的。
中断就是你定时器定时时间到了就响应你中断函数里面的程序,就是你程序里面的蜂鸣器响。TH0 TL0赋值就是看你用哪个定时器 以及 定时器方式几 具体设置初值
为您推荐:
其他类似问题
您可能关注的内容
闹钟的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 3930|回复: 6
哪里有RTC闹钟中断的例子?
主题帖子精华
初级会员, 积分 71, 距离下一级还需 129 积分
在线时间0 小时
在论坛里搜索了下,有了点收获但是不大。我的RTC闹钟中断也是进不去。只能进秒中断。
看原子哥说参考战舰版RTC的配置,上面有闹钟中断。但是我看了那个程序里面没有如何使用RTC闹钟的地方。
&if(RTC-&CRL&0x0002)//闹钟中断
&&&& &//&&printf("Alarm!\n");&
&&&&&&RTC-&CRL&=~(0x0002);//清闹钟中断
&&&&&&//闹钟处理
&} ,可是我看了寄存器的值,这个IF函数根本进不去,如何让32位可编程计数器达到RTC_ALR寄存器所设置的预定值呢?进入这个中断函数呢
主题帖子精华
金钱123865
在线时间1029 小时
设置一个可以到达的值。
注意RTC-&CNTH/CNTL里面的值1秒钟才增加1,你自己看着设置。呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 71, 距离下一级还需 129 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
谢谢,原子老师!那是不是如果我设置RTC-&CNTL=10;要10次秒中断才能进入一次闹钟中断呢?
主题帖子精华
金钱123865
在线时间1029 小时
不是这个意思啊。。。
CNTL/CNTH是RTC的计数器,你RTC是何年马月,都是通过这两个寄存器决定的。
你设置闹钟,就只需要配置 RTC-&ALRL、ALRH即可!
但是确保CNTL+CNTH&ALRL+ALRH。
比如小100,那么你的闹钟将会在100秒以后闹铃!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
初级会员, 积分 71, 距离下一级还需 129 积分
在线时间0 小时
回复【4楼】正点原子:
---------------------------------
中断进去了,谢谢原子老师了!可是只能进入一次闹钟中断,然后RTC-&CNTL的值就大于了ALRL的值了,我想把RTC-&CNTL的值清零,可是实现不了
void&RTC_IRQHandler(void)
{&&&&&&&&&&&
&&&&if(RTC-&CRL&0X0002)
&&&&&&&&nbspAout(3)=~PAout(3);
&&&&&&&&RTC-&CNTL=0;
&&&&&&&&while(!(RTC-&CRL&(1&&5)));//等待RTC寄存器操作完成
&&&&&&&&RTC-&CRL&=~(0X0002);
&&&&}&&&&&&&&&&&&&
&&&&RTC-&CRL&=0X0FFA;&&&&&&&&&//清除溢出,秒钟中断标志
&&&&while(!(RTC-&CRL&(1&&5)));//等待RTC寄存器操作完成&&&&&&&&&&&&&&&&&&&
我想实现间隔一段时间就进入一次闹钟中断,请原子老师指教一下。
主题帖子精华
金钱123865
在线时间1029 小时
重新设置ALRL,ALRH即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
金牌会员, 积分 1607, 距离下一级还需 1393 积分
在线时间128 小时
回复【5楼】hantan518:
---------------------------------
请问你有实验过原子的rtc时钟实验再增加单纯闹钟功能吗
Powered by21ic官方微信-->
PIC18F24J11 RTCC
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
#include&p18cxxx.h&
#include&p18f24j11.h&
#include&rtcc.h&
#include&pconfig.h&
#include&i2c.h&
#include&delays.h&
#pragma config DEBUG = ON& && & & & & & & && &//使能后台调试器; RB6 和RB7 专用于在线调试
//#pragma config XINST = ON& && && &&&//使能指令集扩展和变址寻址模式
#pragma config XINST = OFF& & & & & & & & & && &//禁止指令集扩展和变址寻址模式
#pragma config STVREN = OFF& && & & & & & & && &//禁止堆栈上溢/ 下溢复位
//#pragma config STVREN = ON
#pragma config WDTEN = OFF& & & & & & & & & && &//禁止WDT (由SWDTEN 位控制)
//#pragma config CP0 = ON& && && && & //程序存储器受代码保护
#pragma config CP0 = OFF& & & & & && && & & && &//程序存储器不受代码保护
//#pragma config FCMEN = ON& && && &&&//使能故障保护时钟监视器
#pragma config FCMEN = OFF& && & & & & & & && &//禁止故障保护时钟监视器
#pragma config IESO = OFF& & & & & & & & & && &//禁止双速启动
//#pragma config IESO = ON& & & & & & & & & && &//禁止双速启动
#pragma config LPT1OSC = OFF& & & & & & & && &//Timer1 振荡器配置为高功耗工作
#pragma config T1DIG = ON& && & & & & && &//无论T1OSCEN(T1CON&3&)的状态如何,都可以选择辅助振荡器时钟源(OSCCON&1:0& = 01)
//#pragma config T1DIG = OFF& && & & & & && &//除非T1CON&3& = 1,否则不能选择辅助振荡器时钟源
//#pragma config OSC = INTOSC&&& & & && & & & & && &//INTOSC 内部振荡器模块(INTRC/INTOSC), RA6 和RA7 均用作端口引脚
#pragma config OSC = INTOSCO&&& & & && & & & & && &//INTOSC 内部振荡器模块(INTRC/INTOSC), RA6 和RA7 均用作端口引脚
#pragma config WDTPS = 32768 & & & && && & //1:32,768
#pragma config RTCOSC = T1OSCREF& && &//RTCC 使用T1OSC/T1CKI 作为参考时钟
//#pragma config RTCOSC = INTOSCREF
#pragma config DSWDTOSC = T1OSCREF&&//DSWDT 使用T1OSC/T1CKI 作为参考时钟
#pragma config DSBOREN = OFF& && &&&//在深度休眠模式下禁止BOR
#pragma config DSWDTEN = OFF& && &&&//禁止DSWDT
#pragma config IOL1WAY = OFF& && &&&//IOLOCK 位(PPSCON&0&)可以根据需要置1 和清零,前提是已经完成解锁序列
#pragma config MSSP7B_EN = MSK7& && & //使能7 位地址掩码模式
#pragma config WPCFG = OFF& && && && &//除非WPEND 和WPFP&5:0& 设置保护配置字页,否则不对配置字页进行擦/ 写保护
//-------------------------------------------------------
//& && && && && && &RTCC模块写开锁
//-------------------------------------------------------
void RTCCUnlock(void)
& & & & _asm movlb 0x0f _endasm & & & &
& & _asm movlw 0x55 _endasm
& & & & _asm movwf EECON2,0 _endasm
& & & & _asm movlw 0xAA _endasm
& & & & _asm movwf EECON2,0 _endasm
& & & & _asm bsf RTCCFG,5,1 _endasm
//-------------------------------------------------------
//& && && && && &&&设置RTCC初始值子函数
//-------------------------------------------------------
void setRTCCtime(void)
& & & & RTCCFG|=0X03;
& & & & while(RTCCFGbits.RTCSYNC);
& & & & RTCVALL=0X12;&&//year 12年
& & & & RTCVALH=0;& &&&//保留位无用
& & & & RTCVALL=0X12;&&//day&&11日
& & & & RTCVALH=0X12;&&//month 12月
& & & & RTCVALL=0X16;&&//hour 16时&&
& & & & RTCVALH=3;& &&&//weekday 星期二
& & & & RTCVALL=0X00;&&//second&&0秒
& & & & RTCVALH=0X39;&&//minute&&39分
//-------------------------------------------------------
//& && && && && &&&设置RTCC闹钟值子函数
//-------------------------------------------------------
void setRTCCalarm(void)
& & & && &ALRMCFG|=0x03;
&&& & & && &ALRMVALL=0X12;& &//year 12年
& & & && &ALRMVALH=0;& && &//保留位无用
& & & && &ALRMVALL=0X12;& &//day&&11日
& & & && &ALRMVALH=0X12;& &//month 12月
& & & && &ALRMVALL=0X16;& &//hour 14时&&
& & & && &ALRMVALH=3;& && &//weekday 星期五
& & & && &ALRMVALL=0X59;& &//second&&59秒
& & & && &ALRMVALH=0X39;& &//minute&&39分
//-------------------------------------------------------
//& && && && && & RTCC初始化子函数
//-------------------------------------------------------
void RTCC_init(void)
& & & & T1GCON=0x00;& && && &&&// 禁止TIMER1门控
& && & & & //T1GCON=0x80;& && && &// 使能TIMER1门控
& & & & T1CON=0x8f;& & & & & & & && && &&&//Timer1使用外部时钟、1:1预分频比、TIMER1振荡器使能、不同步、16位读写、使能TIMER1
& & delay_nms(10);
& & & & TCLKCON=0x00;& && && & //ECCP1和ECCP2 均使用Timer3 (捕捉/ 比较)和Timer4 (PWM)
& & & & RTCCFG=0X07;& && && &&&//RTCC功能禁止、不能写入值寄存器、使能RTCC时钟输出、值指针置为11
& & & & RTCCAL=0X00;&&& & & & & & & && & //RTCC校准寄存器 无调整
&&//PADCFG1=0x02;& && && & //RTCC引脚输出秒时钟脉冲& &
&&//PADCFG1=0x00;& && && & //RTCC引脚输出闹钟时钟脉冲& &
& & PADCFG1=0x06;& && && & //RTCC引脚输出闹钟时钟脉冲& &
& & & & ALRMCFG=0& && && & //闹钟使能 响铃使能 闹钟间隔为1分钟
& & ALRMRPT=0& && && & //闹钟重复计数器位设为
& & & & RTCCUnlock();&&& & & & & & & && & //根据DATASHEET参考程序写开锁
& & & & RTCCFGbits.RTCEN=1;& & & && & //使能RTCC 模块
& & & & setRTCCtime();
& & & & PIE3bits.RTCCIE=1;& && & & & //RTCC中断允许
& & & & IPR3bits.RTCCIP=1;& && &//RTCC中断高优先级
& & & & PIR3bits.RTCCIF=0;& && &//中断标志位清零
& & setRTCCalarm();
&&& & & & RTCCFGbits.RTCWREN = 0;
//-------------------------------------------------------
//& && && && && & 中断子函数
//-------------------------------------------------------
#pragma code InterruptVectorHigh =0x08
void InterruptVectorHigh (void)
& & & & & & & & _asm
& & & & & & & & goto InterruptHandlerHigh & & & & & & & &
& & & & & & & & _endasm
#pragma code
#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh (void)
& & & & if(PIR3bits.RTCCIF)
& & & & & & & & PIR3bits.RTCCIF=0;& &
& & & && & & & & & EDP_send();
& & & && &}
void main(void)
& &&&OSCCON=0x68;& && && & & & //内部振荡器频率为4MHZ
& & & & RCON=0x80;& && && & //复位控制寄存器
& & & & INTCON=0xc0;
& & & & RTCC_init();
& & I2C_init();
& & & & EDP_init();
& & & & EDP_send();
& & while(1);
程序只摘了一部分跟RTCC有关系的& &现在的问题是&&RTCC的不走
请大神帮助&&就50分&&都给了&&
1、代码就不看了
2、RTCC走不走,可以先查查对应的定时中断是否正确进入了,如果没有进入,先去查中断相关代码,如果进入了则去查计数代码有无正确计算
扫描二维码,随时随地手机跟帖
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
您需要登录后才可以回帖
热门推荐 /5}

我要回帖

更多关于 正点闹钟 去广告 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信