亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 完成功能: 在實時時鐘實驗的基礎(chǔ)上添加看門狗功能
?? C
字號:
/* 包含文件 */
#include "def.h"
#include "2410lib.h"
#include "option.h"
#include "2410addr.h"
#include "interrupt.h"

extern unsigned char seg7table[];

/* 表示日期、時間的數(shù)據(jù)結(jié)構(gòu) */
typedef struct ST_DATE
{
	short 	year;       // 年
	char	mon;        // 月
	char	day;        // 日
	char	week_day;   // 星期
	char	hour;       // 時
	char	min;        // 分
	char	sec;        // 秒
} st_date;

/* 全局變量 */
int led_index = 0;
int ext0_count = 0;

/* functions */
void rtc_tick_isr(void) __attribute__ ((interrupt("IRQ")));;
void rtc_int_isr(void) __attribute__ ((interrupt("IRQ")));;

#define WDT_ENABLE			(0x01<<5)
#define WDT_INT_ENABLE		(0x01<<2)
#define WDT_RST_ENABLE		(0x01<<0)	

#define WDT_CLK_SEL			(0X3    <<3)		/* 1/128 */
#define WDT_PRE_SCALER		((PCLK/1000000-1)   <<8)		/* 49  */

/********************************************************************
// Function name	: watchdog_init
// Description	    : 看門狗初始化
// Return type		: void
// Argument         : 
*********************************************************************/
void watchdog_init()
{
	rWTCNT = 8448 * 2;		/* 設(shè)置看門狗初始值 */
	rWTCON = WDT_ENABLE | WDT_RST_ENABLE | WDT_CLK_SEL | WDT_PRE_SCALER;	/* 打開看門狗 */		/* 打開看門狗 */
}
/*****************************************************************************
// Function name	: rtc_set_date
// Description	    : 修改實時時鐘當前時間、日期
// Return type		: void
// Argument         : p_date, 待設(shè)置的日期
*****************************************************************************/
void rtc_set_date(st_date* p_date)
{
    rRTCCON  = 0x01;	
    rBCDYEAR = p_date->year;
    rBCDMON  = p_date->mon;
    rBCDDAY  = p_date->day;
    rBCDDATE = p_date->week_day;
    rBCDHOUR = p_date->hour;
    rBCDMIN  = p_date->min;
    rBCDSEC  = p_date->sec;
    rRTCCON  = 0x00;	
}

/*****************************************************************************
// Function name	: rtc_get_date
// Description	    : 獲取實時時鐘當前時間、日期
// Return type		: void
// Argument         : p_date, 返回日期的指針
*****************************************************************************/
void rtc_get_date(st_date* p_date)
{
    rRTCCON  = 0x01;	
    
    p_date->year	= 	rBCDYEAR ;
    p_date->mon		= 	rBCDMON  ;
    p_date->day		= 	rBCDDAY  ;
    p_date->week_day= 	rBCDDATE ;
    p_date->hour	= 	rBCDHOUR ;
    p_date->min		= 	rBCDMIN  ;
    p_date->sec		= 	rBCDSEC  ;
    
    rRTCCON  = 0x00;	
}

/*****************************************************************************
// Function name	: rtc_tick_init
// Description	    : 初始化S3C2410的TICK定時器
// Return type		: void
// Argument         : tick, 設(shè)置的TICK頻率(時鐘滴答的周期為 (1+tick)/128秒)
*****************************************************************************/
void rtc_tick_init( char tick )
{
    Irq_Request(IRQ_TICK, rtc_tick_isr);
    
    rRTCCON   = 0x0;            //No reset[3], Merge BCD counters[2], BCD clock select XTAL[1], RTC Control disable[0]
    rTICNT  = (tick&0x7f)|0x80;		/*TICK 中斷使能,周期為(1+tick)/128秒*/   
    Irq_Enable(IRQ_TICK);   
}

/*****************************************************************************
// Function name	: rtc_alarm_set
// Description	    : 設(shè)置S3C2410的告警時間以及方式
// Return type		: void
// Argument         : p_date, 告警的時間
//                    mode, 告警模式
*****************************************************************************/
void rtc_alarm_set(st_date* p_date, unsigned char mode)
{
    Irq_Request(IRQ_RTC, rtc_int_isr);
    
    rRTCCON  = 0x01;	
    
    rALMYEAR = p_date->year;
    rALMMON  = p_date->mon;
    rALMDATE = p_date->day;
    rALMHOUR = p_date->hour;
    rALMMIN  = p_date->min;
    rALMSEC  = p_date->sec;
    
    rRTCALM  = mode;
    
    rRTCCON  = 0x00;	

    Irq_Enable(IRQ_RTC);   
}

/*****************************************************************************
// Function name	: Main
// Description	    : JXARM9-2410 看門狗實驗主程序
//                    完成功能:
//                        在實時時鐘實驗的基礎(chǔ)上添加看門狗功能,并在時鐘滴答
//                        中斷中實現(xiàn)喂狗處理.
//       
// Return type		: void
// Argument         : void
*****************************************************************************/
void Main(void)
{
	int old_index ;
	
	st_date m_date;
	
	/* 配置系統(tǒng)時鐘 */
    ChangeClockDivider(1,1);          // 1:2:4    
    ChangeMPllValue(0xa1,0x3,0x1);    // FCLK=202.8MHz  
	
	/* 中斷初始化 */
    Isr_Init();
    /* 初始化端口 */
    Port_Init();
    
    /* 初始化串口 */
    Uart_Init(0,115200);
    Uart_Select(0);

    /* 打印提示信息 */
	PRINTF("\n---看門狗測試程序---\n");
	PRINTF("\n請將UART0與PC串口進行連接,然后啟動超級終端程序(115200, 8, N, 1)\n");
	PRINTF("\n看門狗測試開始\n");

	/* 采用BCD編碼,如2004年需要設(shè)置的值為0x2004 */
    m_date.year		= 	0x2000+0x08;
    m_date.mon		= 	0x04;
    m_date.day		= 	0x03;
    m_date.week_day	= 	0x02 ;
    m_date.hour		= 	0x15 ;
    m_date.min		= 	0x40 ;
    m_date.sec		= 	0x00 ;
    
    /* 修改當前日期和時間 */
    rtc_set_date(&m_date);
    
    m_date.sec		= 	0x05 ;
    
    /* 設(shè)置告警的時間及方式,0x41表示使能RTC告警,以及使能秒時鐘告警 */
    rtc_alarm_set(&m_date, 0x41);
	
	rtc_tick_init(127);
	
	/* 打開看門狗復(fù)位功能 */
	watchdog_init();
	
	old_index = led_index;
   	PRINTF("請在2秒內(nèi)喂狗,否則系統(tǒng)將在約2秒后復(fù)位\n\n");
   	
    while(1)
    {
    	if(old_index != led_index)		/* 每隔一秒更新一次數(shù)據(jù)				*/
    	{
   	    	rtc_get_date(&m_date);
   	    	old_index = led_index;
			
   	    	PRINTF(				/* 時鐘數(shù)據(jù)為BCD碼格式,以16進制顯示 */
				"\b\b\b\b\b\b\b\b%02x:%02x:%02x", m_date.hour, m_date.min, m_date.sec);
   	    }
    };
}

/*****************************************************************************
// Function name	: rtc_tick_isr
// Description	    : TICK中斷處理程序,程序中設(shè)置每秒鐘引發(fā)一次中斷
//                    為避免看門狗復(fù)位在此處喂狗
// Return type		: int
// Argument         : void
*****************************************************************************/
void rtc_tick_isr(void)
{
	Irq_Clear(IRQ_TICK);         /* 清除TICK中斷 */

	*((U8*) 0x10000006) = 0x00;
  	*(unsigned char*)0x10000004 = seg7table[led_index%10];  
   	
   	led_index++;
   	
   	/* 喂狗 */
   	rWTCNT = 8448 * 2;
}

/*****************************************************************************
// Function name	: rtc_int_isr
// Description	    : rtc中斷處理程序,程序中設(shè)置每分鐘的第5秒引發(fā)該中斷
// Return type		: int
// Argument         : void
*****************************************************************************/
void rtc_int_isr(void)
{
	Irq_Clear(IRQ_RTC);          /*清除RTC中斷						*/
    
//    if(ext0_count&1)	
//   		*(unsigned char*)0x2000000 = 0x0f;  
//   	else
//   		*(unsigned char*)0x2000000 = 0xff;  
   		
   	ext0_count++;
   	
   	PRINTF("\r\nAlarm\r\n                  ");
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类调教123区| 精品国产一区二区精华| 国产日产精品一区| 国产酒店精品激情| 国产精品乱码久久久久久| 成人91在线观看| 国产精品视频一二三| 成人永久aaa| 亚洲尤物在线视频观看| 欧美日韩三级视频| 麻豆精品久久精品色综合| 国产欧美一区二区三区网站| 久久99精品久久久久久国产越南| 久久综合999| 成人精品视频一区二区三区尤物| 国产精品久久久久久户外露出 | 国产美女视频91| 久久久久久久一区| 91女厕偷拍女厕偷拍高清| 亚洲精品在线观看视频| 九一久久久久久| 久久久久久97三级| 成人久久视频在线观看| 一区二区三区四区蜜桃| 91精品中文字幕一区二区三区| 精品一区精品二区高清| 国产精品不卡一区| 51精品视频一区二区三区| 国产激情一区二区三区四区 | 国产校园另类小说区| 91丨porny丨在线| 蜜桃久久av一区| 中文字幕亚洲成人| 日韩免费在线观看| 色婷婷综合久久久中文字幕| 蜜芽一区二区三区| 亚洲精品你懂的| 久久综合色婷婷| 欧美午夜精品一区二区三区| 国产精品正在播放| 日韩精品一级二级| 色婷婷av一区二区三区软件| 午夜精品福利久久久| 国产午夜精品久久久久久久| 欧美在线观看18| 国产v综合v亚洲欧| 美女看a上一区| 亚洲精品久久久蜜桃| 欧美变态口味重另类| 欧美性xxxxxx少妇| 成人性生交大片免费| 免费人成精品欧美精品| 亚洲小说春色综合另类电影| 国产目拍亚洲精品99久久精品| 欧美日韩激情一区二区三区| av一区二区不卡| 国产成人免费av在线| 久久精品99国产精品日本| 亚洲国产精品久久一线不卡| 国产精品乱人伦一区二区| 最近中文字幕一区二区三区| eeuss鲁片一区二区三区在线看| 男女男精品视频| 中文字幕在线不卡一区| 欧美成人一区二区三区片免费 | 成人免费视频免费观看| 毛片av一区二区三区| 五月激情丁香一区二区三区| 一区二区三区色| 亚洲乱码一区二区三区在线观看| 国产午夜精品福利| 国产午夜精品福利| 国产欧美一区在线| 国产亚洲欧洲一区高清在线观看| 精品日本一线二线三线不卡| 日韩午夜在线影院| 日韩欧美一区二区在线视频| 91麻豆精品久久久久蜜臀| 欧美日韩久久久| 欧美日韩亚洲综合一区二区三区| 欧美性生活大片视频| 欧美在线视频你懂得| 欧美性一级生活| 欧美日韩电影在线播放| 51午夜精品国产| 日韩午夜激情免费电影| 日韩午夜激情电影| 久久久精品国产免费观看同学| 久久久亚洲精华液精华液精华液| 2020日本不卡一区二区视频| 久久青草欧美一区二区三区| 久久精品综合网| 国产精品成人一区二区三区夜夜夜| 亚洲国产精品高清| 亚洲特级片在线| 亚洲第一福利一区| 蜜桃久久久久久久| 粉嫩欧美一区二区三区高清影视| www.亚洲激情.com| 欧美日韩色综合| 精品乱人伦小说| 欧美国产激情一区二区三区蜜月| 国产精品萝li| 亚洲成a人片综合在线| 老司机午夜精品99久久| 国产成人免费视频网站高清观看视频 | 亚洲成人资源在线| 久久成人精品无人区| 大尺度一区二区| 欧美中文字幕亚洲一区二区va在线| 欧美精品久久久久久久多人混战 | 久久久久国产成人精品亚洲午夜| 国产精品人妖ts系列视频| 亚洲中国最大av网站| 精品无人码麻豆乱码1区2区 | 亚洲欧美国产三级| 免费欧美在线视频| 91在线一区二区三区| 蜜臀av亚洲一区中文字幕| 国产精品―色哟哟| 亚洲自拍偷拍九九九| 久久er精品视频| 色综合天天做天天爱| 精品成人一区二区三区| 一区二区在线观看不卡| 国内精品久久久久影院色| av激情综合网| 日韩欧美精品三级| 亚洲精品日日夜夜| 国产成人丝袜美腿| 在线播放视频一区| 亚洲男同1069视频| 国产麻豆欧美日韩一区| 欧美日韩精品电影| 国产精品成人一区二区艾草 | 精品日韩一区二区| 亚洲色图视频免费播放| 国内精品久久久久影院薰衣草 | 日韩黄色一级片| 99久久精品免费看国产 | 国产一区在线观看视频| 欧美日韩中文精品| 亚洲欧美日韩中文字幕一区二区三区| 精品一区二区免费| 欧美日韩视频在线第一区| 亚洲欧美电影一区二区| 国产成人精品影视| 欧美精品一区二区三区蜜桃视频| 亚洲自拍偷拍网站| 色天天综合色天天久久| 中国色在线观看另类| 国产精品综合视频| 欧美不卡123| 久久99精品国产麻豆婷婷洗澡| 欧美日韩高清一区| 亚洲综合在线第一页| 91伊人久久大香线蕉| 成人99免费视频| 精品美女在线观看| 亚洲成人动漫精品| 在线视频国产一区| 亚洲码国产岛国毛片在线| 国产精品18久久久久久久久久久久| 91精品国产高清一区二区三区蜜臀| 一区二区高清视频在线观看| 97久久精品人人做人人爽50路| 欧美激情一区二区在线| 成人午夜激情视频| 国产精品乱码妇女bbbb| 9人人澡人人爽人人精品| 日韩毛片精品高清免费| 99久久久国产精品| 亚洲激情男女视频| 欧美日韩另类一区| 婷婷一区二区三区| 日韩视频不卡中文| 国内精品国产成人国产三级粉色| 欧美成人精品福利| 国产在线播精品第三| 国产日韩欧美制服另类| 岛国av在线一区| 亚洲男人的天堂网| 精品视频在线看| 麻豆精品新av中文字幕| 精品1区2区在线观看| 成人性生交大片免费看中文 | 奇米影视一区二区三区| 在线电影院国产精品| 麻豆91在线播放免费| 久久久www免费人成精品| av在线免费不卡| 亚洲高清视频中文字幕| 日韩欧美激情四射| 成人深夜视频在线观看| 亚洲精品视频自拍| 欧美激情一区二区三区蜜桃视频| 国产不卡视频一区| 亚洲图片欧美综合| 精品国产一二三| 91麻豆国产精品久久|