找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 9512|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

初次接觸STM32之實(shí)驗(yàn)一點(diǎn)亮LED流水燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60076 發(fā)表于 2014-5-4 20:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
轉(zhuǎn)自 :http://blog.sina.com.cn/s/blog_b44ad16b0101qzfm.html

剛剛接觸STM32,感覺(jué)很陌生,加上我水平一般,各種寄存器搞得我頭暈眼花,勉強(qiáng)看著文檔,照貓畫(huà)虎寫(xiě)了第一個(gè)程序,點(diǎn)亮流水燈程序。首先在用Keil編寫(xiě)的時(shí)候一共有四個(gè)文件夾,文件名分別是OBJ(存放編譯時(shí)的過(guò)程文件還有生成的.hex文件),USER(編譯程序時(shí)的用到的.c和.h),SYSTEM(程序里用到的幾個(gè)函數(shù),delay,sys,user),HARDWARE(你自己編寫(xiě)的.c和.h文件)。
有了這些就可以開(kāi)始編寫(xiě)流水燈程序了,先新建了一個(gè)名為L(zhǎng)ED.c的文件,要點(diǎn)亮的兩個(gè)LED分別對(duì)應(yīng)的IO口為PB5和PE5只要控制好這兩位就能實(shí)現(xiàn)所要的功能了,程序中的RCC(RESETand clockcontrol)是定義的一個(gè)結(jié)構(gòu)體,使能端口時(shí)鐘RCC->APB2ENR|=1<<3;在配置STM32外設(shè)時(shí),任何時(shí)候都要先使能該外設(shè)的時(shí)鐘,APB2ENR就是APB2總線上的外設(shè)時(shí)鐘使能寄存器在第三和第六位置一,

GPIOx->CRL(STM32的CRL和CRH用來(lái)控制IO口的方向,ODR用來(lái)控制輸出電平高低或者上下拉電阻,端口輸出數(shù)據(jù)寄存器,該寄存器課讀寫(xiě),r可以知道當(dāng)前端口的狀態(tài),IDR端口輸入數(shù)據(jù)寄存器)。
  接著創(chuàng)建一個(gè)LED.H的文件,用到了#ifndef LED_H_//if notdefine  #endif 有兩個(gè)關(guān)鍵的宏定義#define LED0PBout(5)  #define LED1 PEout(5)使用的是位帶操作

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表