新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM8S系統(tǒng)時(shí)鐘應(yīng)用(IAR)

        STM8S系統(tǒng)時(shí)鐘應(yīng)用(IAR)

        作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
        STM8上電運(yùn)行時(shí)默認(rèn)使用內(nèi)部16M的RC振蕩器經(jīng)8分頻后的2M時(shí)鐘頻率作為系統(tǒng)時(shí)鐘。程序開始運(yùn)行后可以通過(guò)設(shè)置相關(guān)寄存器來(lái)修改主時(shí)鐘源,可以選擇外部晶振作為主時(shí)鐘源和CPU時(shí)鐘分頻。那么這里就選擇比較簡(jiǎn)單的操作,修改內(nèi)部RC時(shí)鐘預(yù)分頻器獲得8M系統(tǒng)時(shí)鐘。

        增加內(nèi)部RC時(shí)鐘預(yù)分頻后的代碼如下:

        本文引用地址:http://www.104case.com/article/201611/320480.htm

        #i nclude

        #define LED1_FLASHPD_ODR_ODR3 =!PD_ODR_ODR3// LED閃燈指示

        void delay(unsigned int count)
        {
        while(count--);
        }

        void CLK_init(void)
        {
        CLK_CKDIVR = 0x08; // 16M內(nèi)部RC經(jīng)2分頻后系統(tǒng)時(shí)鐘為8M
        }

        void GPIO_init(void)
        {
        PD_DDR = 0x08;// 配置PD端口的方向寄存器PD3輸出
        PD_CR1 = 0x08;// 設(shè)置PD3為推挽輸出
        }

        void init_devices(void)
        {
        CLK_init();
        GPIO_init();
        }

        void main( void )
        {
        init_devices();
        while(1)
        {
        delay(50000);
        LED1_FLASH;
        }
        }
        編譯后運(yùn)行一下看看,LED1是不是閃得更快了



        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 乌鲁木齐县| 开封县| 比如县| 辽宁省| 沧州市| 贺州市| 永吉县| 东兰县| 布拖县| 泽普县| 时尚| 太仓市| 吉林省| 五原县| 临西县| 伊宁县| 沙田区| 会理县| 鱼台县| 阜南县| 新竹市| 延津县| 敦化市| 黑水县| 满洲里市| 北海市| 白城市| 广宁县| 宁德市| 永德县| 大兴区| 汝州市| 彭州市| 碌曲县| 涟水县| 甘南县| 德安县| 津市市| 梁平县| 米易县| 东方市|