久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5517|回復: 1
打印 上一主題 下一主題
收起左側

STM32F407 跑馬燈實驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:262 發表于 2014-10-24 13:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32F4系列的GPIO寄存器和F1系列稍有不同,在這里介紹一下各個寄存器和專業名詞。PP:推挽輸出 PP+PU:帶上拉的推挽輸出 PP+PD:帶下拉的推挽輸出 OD:開漏輸出 OD+PU:帶上拉的開漏輸出 OD+PD:帶下拉的開漏輸出Floating :浮空輸入 Analog:模擬輸入 MODER寄存器:設置GPIO模式寄存器,00輸入模式,01輸出模式,10復用模式,11模擬輸入模式。 OTYPER寄存器:設置GPIO類型寄存器,僅在做輸出時使用,0是推挽輸出,1是開漏輸出。         OSPEEDR寄存器:設置GPIO速度寄存器,有四種速度。 PUPDR寄存器:設置上拉下拉寄存器       
設置步驟:
1. 使能GPIO時鐘
2. 設置相應的IO口為輸入或輸出(MODER寄存器)
3. 設置輸入\輸出的類型(OTYPER寄存器)
4. 設置輸出的速度(OSPEEDR寄存器 )
5. 如果輸出速度>=50M,開啟補償單元
6. 設置上拉下拉寄存器(PUPDR寄存器)
7. 通過復位置位寄存器和輸入輸出數據寄存器進行操作。

    /*-----------------------------------------------------------------------------------------------------------------------------
    實 驗 一: 跑 馬 燈
    作 者 : 冰 點
    日 期 :2014.2.20
    軟 件 平 臺 : M D K 5.05
    ------------------------------------------------------------------------------------------------------------------------------*/
    #include <stm32f4xx.h>
    uint32_t Delaytime;
    void Delay(int time)
    {
    Delaytime=time;
    while(Delaytime!=0x00);
    }
    void LED_init(void)
    {
    RCC->AHB1ENR|=(1<<2);//開GPIOC時鐘
    GPIOC->MODER&=0xfffffcfc;
    GPIOC->MODER|=0x00000101;//MODER寄存器設置IO作為輸入還是輸出
    GPIOC->OTYPER&=~((1<<0)|(1<<4));
    GPIOC->OSPEEDR&=0xfffffcfc;
    GPIOC->OSPEEDR|=0x00000303;//速度最快
    GPIOC->PUPDR&=0xfffffcfc;//無上拉下拉
    SYSCFG->CMPCR = 0x00000001; //使用IO補償單元 F2 F4新增功能,速度超過50MHZ時使用
    }
    void SysTick_Handler(void)
    {
    if(Delaytime!=0x00)
    Delaytime--;
    }
    int main(void)
    {
    SystemInit();
    SysTick_Config(SystemCoreClock/1000); // 每1ms中斷1次 SystemCoreClock=168MHZ 也就是1S 168M次


/*----------------------------------------------------------------------------------------------------------------------------- 實 驗 一: 跑 馬 燈 作 者 : 冰 點 日 期 :2014.2.20 軟 件 平 臺 : M D K 5.05------------------------------------------------------------------------------------------------------------------------------*/#include <stm32f4xx.h> uint32_t Delaytime;void Delay(int time){ Delaytime=time; while(Delaytime!=0x00); }void LED_init(void){ RCC->AHB1ENR|=(1<<2);//開GPIOC時鐘 GPIOC->MODER&=0xfffffcfc; GPIOC->MODER|=0x00000101;//MODER寄存器設置IO作為輸入還是輸出 GPIOC->OTYPER&=~((1<<0)|(1<<4)); GPIOC->OSPEEDR&=0xfffffcfc; GPIOC->OSPEEDR|=0x00000303;//速度最快 GPIOC->PUPDR&=0xfffffcfc;//無上拉下拉 SYSCFG->CMPCR = 0x00000001; //使用IO補償單元 F2 F4新增功能,速度超過50MHZ時使用} void SysTick_Handler(void){ if(Delaytime!=0x00) Delaytime--;}int main(void){ SystemInit(); SysTick_Config(SystemCoreClock/1000); // 每1ms中斷1次 SystemCoreClock=168MHZ 也就是1S 168M次
在CODE上查看代碼片派生到我的代碼片


    LED_init(); // 中斷時間 =168M/1000/168M=0.001S=1ms


LED_init(); // 中斷時間 =168M/1000/168M=0.001S=1ms
[objc] view plaincopyprint?在CODE上查看代碼片派生到我的代碼片


    while(1)
    {
    GPIOC->ODR^=((1<<0)|(1<<4));
    Delay(1000);

    }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:72113 發表于 2015-1-12 23:09 | 只看該作者
有機會試試
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 一区二区三区免费 | 欧美一级在线 | 男人天堂视频在线观看 | 不卡一区二区三区四区 | 欧美一级欧美三级在线观看 | 正在播放亚洲 | 午夜爽爽男女免费观看hd | 欧美一级片在线播放 | 三级黄色片在线 | 午夜视频在线播放 | 久久精品亚洲欧美日韩精品中文字幕 | 日韩精品成人免费观看视频 | 国产激情91久久精品导航 | 高清av一区 | 成人免费视频网站在线看 | 亚洲成人高清 | 国产激情视频在线免费观看 | 欧美日韩国产在线观看 | 国产精品视频999 | 一级毛片免费 | 亚洲成人一区二区 | 久久精品视频99 | 国产一区二区在线视频 | 免费人成激情视频在线观看冫 | 日韩精品一区二区三区中文字幕 | 国产欧美日韩一区二区三区在线观看 | 美女天天操 | 日本手机看片 | 日韩精品 电影一区 亚洲 | 精品国产一区二区三区在线观看 | 国产激情视频在线观看 | 精品欧美久久 | 亚洲 欧美 日韩在线 | 国产三级一区二区 | 久久最新 | 日韩精品一区二区三区中文字幕 | 视频在线观看一区二区 | 狠狠久久| 亚洲日本国产 | 亚洲精品成人在线 |