亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: SPCE061A學習筆記—系統時鐘設置引發的血案 [打印本頁]

作者: 電子黑    時間: 2016-6-29 14:58
標題: SPCE061A學習筆記—系統時鐘設置引發的血案
今天嘗試點亮led,發現點亮一點時間后周期會變長,搗鼓了半天,終于找出問題所在,下面一段文字摘自資料原文:
        此外,32768Hz RTC 振蕩器有兩種工作方式:強振模式和自動弱振模式。處于強振模式時,
RTC 振蕩器始終運行在高耗能的狀態下。處于自動弱振模式時,系統在上電復位后的前7.5s 內
處于強振模式,然后自動切換到弱振模式以降低功耗。CPU 被喚醒后默認的時鐘頻率為Fosc/8,
用戶可以根據需要調整該值。CPU 被喚醒后經過32 個時鐘周期的緩沖時間后再進行其它的操作,
這樣可以避免在系統被喚醒后造成ROM讀取錯誤。
















注意以上文字中的"處于自動弱振模式時,系統在上電復位后的前7.5s 內
處于強振模式,然后自動切換到弱振模式以降低功耗。",這就是為什么開機一段時間后點亮頻率會降低的原因了,這段過渡時間剛好在7.5S左右。
結合插圖可以看出,*P_SystemClock必須預先設置好,使CPU始終處于強振狀態,才能確保芯片按照預期效果正常工作。
下面給出源程序
//main.c
#include"SPCE061A.h"
#defineuchar unsigned char
void delay1ms()
{
   unsigned char i;   
     for(i = 0; i <70; i++)
     *P_Watchdog_Clear =   0x0001;    //清看門狗     
}
void delaynms(unsigned int n)
{
unsigned char i;
for(i=0;i<n;i++)
delay1ms();   
}

void main()
{
//add your code here
unsigned int i;
*P_SystemClock=0x000b;           //fosc=24768khz,CPUClok=fosc/8 ,強振狀態,睡眠狀態下晶振仍然工作
*P_IOA_Data = 0x0000;            //設置IOA0 ~IOA15 端口為帶下拉的低電平輸入
*P_IOA_Dir = 0xffff;             //工作方向為輸出
*P_IOA_Attrib = 0xffff;          //同相輸出,即給1出1,給0出0
*P_IOB_Data= 0xffff;             //設置IOB0~IOB15 端口為帶數據緩存的高電平輸出
*P_IOB_Dir = 0xffff;             //工作方向為輸出
*P_IOB_Attrib = 0xffff;          //同相輸出

while(1)
{
for(i=0;i<8;i++)
{
*P_IOB_Data  =  0x0001<<i;     //IOB 端口輸出高電平,點亮發光二極管,并保持一段時間
delaynms(1000);
}            
}  

}










歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1