音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

lpc2132的RTC報(bào)警設(shè)置問題。

作者:zhaojiude 欄目:ARM技術(shù)
LPC2132.html">LPC2132的RTC報(bào)警設(shè)置問題。
LPC2132的RTC報(bào)警設(shè)置可否時(shí)、分、秒、周多項(xiàng)設(shè)置?我試過,仿佛只能單獨(dú)設(shè)置一項(xiàng),才能產(chǎn)生中斷,但我需要多項(xiàng)匹配才產(chǎn)生中斷報(bào)警呀,象8563時(shí)鐘芯片都可以的,是否有特別的設(shè)置呀?請速告之,急!。。。。。。。!

2樓: >>參與討論
zlgARM
可以,通過設(shè)置報(bào)警屏蔽寄存器即可實(shí)現(xiàn)您的要求
 
3樓: >>參與討論
zhaojiude
LPC2132的RTC報(bào)警設(shè)置問題
我就是在報(bào)警屏蔽寄存器里設(shè)置的呀,如下:
void RTCAlarmSet(void)
{
    AMR =  0xf9;       //周、時(shí)、分、秒報(bào)警允許。
    
    ALDOW   = RtcAlarm.Weekday;
    ALHOUR  = RtcAlarm.Hour;
    ALMIN   = RtcAlarm.Minute;
    ALSEC   = RtcAlarm.Second;
}

當(dāng)AMR = 0XF8或AMR = 0XF9;允許時(shí)、分、秒等兩個(gè)及以上報(bào)警時(shí),到了設(shè)定的時(shí)間,不會產(chǎn)生中斷;而當(dāng)AMR = 0XF7,只有一個(gè)周報(bào)警時(shí),到了設(shè)定的周數(shù),會產(chǎn)生報(bào)警呀?

void __irq RTC_int (void)
{
    counter++;
    if(counter>16) counter=0;
    
    if ((IO0SET & BEEP) == 0)    IO0SET = BEEP;
        else    IO0CLR = BEEP;
        
//    MSPI_SendData(DISP_TAB[counter]);        // 數(shù)碼管顯示
IO1CLR = LEDS8 & (1 << (18+2));    // 點(diǎn)亮LED4
    ILR = 0x03;                                // 清除中斷標(biāo)志
    VICVectAddr = 0x00;                        // VIC結(jié)束
}

RTC相關(guān)的初始化設(shè)置:
VICVectCntl3   = 0x20 | 13;                    // 分配RTC中斷到向量中斷3
    VICVectAddr3   = (uint32)RTC_int;            // 設(shè)置中斷服務(wù)程序地址
    ILR            = 0x03;                        // 清除RTC中斷標(biāo)志
    VICIntEnable   = 1 << 13;                    // 使能RTC中斷


//========================測試RTC==============================================
     if ((IO0PIN & KEY6) == 0)            // 如果KEY6按下
        {
            key = 6;
            IO1CLR = LEDS8 & (1 << (18+4));    // 點(diǎn)亮LED5
            DelayNS(30);
            IO1SET = LEDS8 & (0xFF << (18));// 熄滅所有LED
            //===================
            
     RtcTime.Year = 05;
     RtcTime.Month = 9;
     RtcTime.Day = 16;
     RtcTime.Weekday = 6;
     RtcTime.Hour = 23;
     RtcTime.Minute = 59;
     RtcTime.Second = 00;
     
     RtcAlarm.Weekday = 0;
     RtcAlarm.Hour =24 ;
     RtcAlarm.Minute = 00;
     RtcAlarm.Second = 00;

     RTCInit ();
     RTCAlarmSet();
            //===================
        }




4樓: >>參與討論
eleven11
摟住你想的實(shí)在太簡單了
組合報(bào)警同時(shí)不沖突還需要進(jìn)行軟件編程進(jìn)行篩選,不過實(shí)現(xiàn)不難的,我現(xiàn)在就是可同時(shí)進(jìn)行時(shí)、分、秒、周多項(xiàng)設(shè)置但不沖突

5樓: >>參與討論
zhaojiude
樓上兄弟,確定不可組合報(bào)警嗎?!
樓上兄弟,確定LPC2132不可組合報(bào)警嗎?!
很多RTC時(shí)鐘芯片是可以的。軟件編程是可以,但麻煩呀,是先設(shè)置周,到了周報(bào)警,再設(shè)置日報(bào)警,日報(bào)警到了,再設(shè)置時(shí)報(bào)警嗎?
   請指點(diǎn)呀!

6樓: >>參與討論
zlgARM
re:
設(shè)置多個(gè)匹配條件中斷沒有問題:

#include "config.h"

#define     BEEP     1 << 7        // P0.7控制蜂鳴器

/*
********************************************************************************************************
** 函數(shù)名稱 : RTC_Int()
** 功能描述 : RTC中斷服務(wù)函數(shù)。
** 入口參數(shù) :無
** 出口參數(shù) :無
*******************************************************************************************************
*/
void __irq RTC_Int(void)
{
    /* 取反BEEP控制口 */
    if((IO0SET & BEEP) == 0) IO0SET = BEEP;
    else IO0CLR = BEEP;
    
    ILR = 0x03;                    // 清除RTC報(bào)警中斷標(biāo)志
    VICVectAddr = 0;            // 向量中斷結(jié)束
}


/*
********************************************************************************************************
** 函數(shù)名稱: main()
** 功能描述: RTC秒定時(shí)中斷實(shí)驗(yàn)。
*******************************************************************************************************
*/
int main (void)
{
    IO0DIR = BEEP;
    IO0SET = BEEP;
    
    IRQEnable();                    // IRQ中斷使能
    
    /* RTC初始化 */
    PREINT = Fpclk / 32768 - 1;        // 設(shè)置基準(zhǔn)時(shí)鐘分頻器
    PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
   
    YEAR = 2003;                    // 初化年
    MONTH = 6;                        // 初化月
    DOM = 20;                        // 初化日
    
    /* 初始化時(shí)間 */
    HOUR = 8;
    MIN = 30;
    SEC = 00;
    
    /* 設(shè)置報(bào)警時(shí)間 */
    ALHOUR = 8;
    ALMIN = 31;
    ALSEC = 10;
   
     CCR = 0x03;
     AMR = 0xF8;                        // 允許時(shí)分秒報(bào)警
    ILR = 0x03;                        // 清除RTC增量和報(bào)警中斷標(biāo)志
    CCR = 0x01;                        // 啟動RTC

    /* VIC初始化 */
    VICIntSelect = 0x00;            // 設(shè)置所有中斷連接IRQ中斷
    VICVectCntl0 = 0x20 | 13;        // 分配通道0
    VICVectAddr0 = (int)RTC_Int;    // 設(shè)置中斷服務(wù)程序地址
    VICIntEnable = (1 << 13);        // 使能RTC中斷

    while(1);                         // 等待中斷
    
    return 0;
}

7樓: >>參與討論
eleven11
zlgARM沒有理解樓主的意思
他的意思是報(bào)警復(fù)用,比如我要某個(gè)時(shí)間產(chǎn)生報(bào)警中斷,然后每個(gè)增量中斷也要復(fù)用,這需要軟件編程進(jìn)行判斷的

* - 本貼最后修改時(shí)間:2005-9-17 12:04:26 修改者:eleven11

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
剛買的LPC2200開發(fā)板的蜂鳴器不響了,是不是電路設(shè)計(jì)有問題啊!
沒有人回我呀,只好請教周工了,2104匯編模板
ZLG,希望你能給我們這些花了2000大元的人一個(gè)解釋
請問那位朋友有ADS1.2的中文幫助文檔
請問買SmartARM2200開發(fā)板,PC還要安裝Linux嗎?....
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號