在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32F0 驅(qū)動GPIO口輸出

            STM32F0 驅(qū)動GPIO口輸出

            作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
            之前老是不能點亮LED,連仿真器才發(fā)現(xiàn),在未開戶GPIO時鐘使用的情況下,是無法配置GPIO寄存器的。
            測試代碼如下:

            本文引用地址:http://www.biyoush.com/article/201612/325080.htm
            #include "stm32f0xx.h"
            #include "main.h"
            void SystemInit(void){}
            long RCC_Tmp[10];
            long GPIO_Tmp[10];
            void SysInit(void)
            {
            /////////// 配置RCC /////////////////////////////
            RCC_Tmp[0] = RCC->CR;
            RCC->CR |= 1<<18; //外部高速時鐘旁路
            RCC_Tmp[1] = RCC->CR;
            RCC_Tmp[2] = RCC->AHBENR;
            RCC->AHBENR |= 1<<19; //使能PORTC的時鐘
            RCC_Tmp[3] = RCC->AHBENR;
            // RCC_Tmp[4] = RCC->AHBRSTR;
            // //RCC->AHBRSTR |= 1<<19 ;//復(fù)位PORTC
            // RCC_Tmp[5] = RCC->AHBRSTR;
            RCC_Tmp[6] = RCC->CR2;
            RCC->CR2 |= 1<<0; // HSI14震蕩器關(guān)閉
            RCC_Tmp[7] = RCC->CR2;
            ///////////////////////////////////////////////////
            /////////////// 配置GPIOC //////////////////////////////
            GPIO_Tmp[0] = GPIOC->MODER;
            GPIOC->MODER |= 0x05 <<16; //配置PC8PC9為通用輸出
            GPIO_Tmp[1] = GPIOC->MODER;
            GPIO_Tmp[2] = GPIOC->ODR;
            GPIOC->ODR |= 0x01<<8; //PC8PC9輸出1
            GPIO_Tmp[3] = GPIOC->ODR;
            GPIO_Tmp[4] = GPIOC->OSPEEDR;
            GPIOC->OSPEEDR |= 0x3<<16; //PC8配置為高速口
            GPIO_Tmp[5] = GPIOC->OSPEEDR;
            //////////////////////////////////////////////////////////
            }
            int main(void)
            {
            SysInit();
            while (1)
            {
            GPIOC->ODR |= 0x01 <<9;
            GPIOC->ODR &=~0X01<<9;
            }
            }

            待解決的問題:
            1、在配置RCC_AHBRSRT寄存器時,復(fù)位操作GPIOC,以后面的代碼中也無法配置GPIO寄存器。
            2、如何在仿真時直接查看寄存器中的值,而不是通過在程序中將寄存器的值對變量賦值查看。
            另:
            在用KEIL復(fù)制代碼到網(wǎng)頁中出現(xiàn)亂碼時,可按下圖設(shè)置一下KEIL即可解決。



            關(guān)鍵詞: STM32F0驅(qū)動GPIO口輸

            評論


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

            關(guān)閉