一、簡(jiǎn)介
本文介紹如何使用STM32控制LED,含亮、滅、定時(shí)亮、亮度取反四種模式。
本文IO口使用PB12。
二、實(shí)驗(yàn)平臺(tái)
庫(kù)版本:STM32F10x_StdPeriph_Lib_V3.5.0
編譯軟件:MDK4.53
硬件平臺(tái):STM32開(kāi)發(fā)板
仿真器:JLINK
三、版權(quán)聲明
博主:甜甜的大香瓜
聲明:喝水不忘挖井人,轉(zhuǎn)載請(qǐng)注明出處。
原文地址:http://blog.csdn.NET/feilusia
聯(lián)系方式:897503845@qq.com
香瓜BLE之CC2541群:127442605
香瓜BLE之CC2640群:557278427
香瓜BLE之Android群:541462902
香瓜單片機(jī)之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘寶店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
四、實(shí)驗(yàn)前提
在進(jìn)行本文步驟前,請(qǐng)先閱讀并實(shí)現(xiàn)以下博文:
1、《STM32之系統(tǒng)滴答定時(shí)器》:http://blog.csdn.net/feilusia/article/details/52835711
五、實(shí)驗(yàn)步驟
1、編寫并添加LED驅(qū)動(dòng)
1)編寫驅(qū)動(dòng)GUA_Led.c(存放在“……HARDWARE”)
//******************************************************************************
//name: GUA_Led.c
//introduce: Led驅(qū)動(dòng)
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜單片機(jī)之STM8/STM32(164311667)
//changetime: 2016.12.29
//******************************************************************************
#include "stm32f10x.h"
#include "GUA_Led.h"
#include "GUA_SysTick.h"
/*********************內(nèi)部函數(shù)************************/
static void GUA_Led_PowerOnOff_Init(void);
//******************************************************************************
//name: GUA_Led_PowerOnOff_Init
//introduce: 電源指示燈初始化
//parameter: none
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜單片機(jī)之STM8/STM32(164311667)
//changetime: 2016.12.29
//******************************************************************************
static void GUA_Led_PowerOnOff_Init(void)
{
//IO結(jié)構(gòu)體
GPIO_InitTypeDef GPIO_InitStructure;
//時(shí)鐘使能
RCC_APB2PeriphClockCmd(GUA_LED_POWERONOFF_RCC, ENABLE);
//開(kāi)關(guān)機(jī)led的IO配置
GPIO_InitStructure.GPIO_Pin = GUA_LED_POWERONOFF_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GUA_LED_POWERONOFF_PORT, &GPIO_InitStructure);
}
//******************************************************************************
//name: GUA_Led_Set
//introduce: 香瓜點(diǎn)燈驅(qū)動(dòng)
//parameter: nGUA_Led_Port:IO端口
// nGUA_Led_Pin:IO引腳
// nGUA_Led_Mode:IO模式
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜單片機(jī)之STM8/STM32(164311667)
//changetime: 2016.12.29
//******************************************************************************
void GUA_Led_Set(GPIO_TypeDef* nGUA_Led_Port, GUA_U16 nGUA_Led_Pin, GUA_U8 nGUA_Led_Mode)
{
switch(nGUA_Led_Mode)
{
//滅
case GUA_LED_MODE_OFF:
{
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_OFF);
break;
}
//亮
case GUA_LED_MODE_ON:
{
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_ON);
break;
}
//先亮后滅
case GUA_LED_MODE_FLASH:
{
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_ON);
GUA_Delay_Us(1000000);
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_OFF);
break;
}
//取反
case GUA_LED_MODE_TOGGLE:
{
//如何當(dāng)前亮,則滅
if(GPIO_ReadInputDataBit(nGUA_Led_Port, nGUA_Led_Pin) == GUA_LED_ON)
{
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_OFF);
}
//如何當(dāng)前滅,則亮
else
{
GPIO_WriteBit(nGUA_Led_Port, nGUA_Led_Pin, GUA_LED_ON);
}
break;
}
//其他
default:break;
}
}
//******************************************************************************
//name: GUA_Led_Init
//introduce: LED初始化
//parameter: none
//return: none
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜單片機(jī)之STM8/STM32(164311667)
//changetime: 2016.12.29
//******************************************************************************
void GUA_Led_Init(void)
{
//電源指示燈初始化
GUA_Led_PowerOnOff_Init();
}
2)編寫驅(qū)動(dòng)頭文件GUA_Led.h(存放在“……HARDWARE”)
//******************************************************************************
//name: GUA_Led.h
//introduce: Led驅(qū)動(dòng)
//author: 甜甜的大香瓜
//email: 897503845@qq.com
//QQ group 香瓜單片機(jī)之STM8/STM32(164311667)
//changetime: 2016.12.29
//******************************************************************************
#ifndef _GUA_LED_H_
#define _GUA_LED_H_
/*********************頭文件************************/
#include "stm32f10x.h"
/*********************宏定義************************/
#ifndef GUA_U8
typedef unsigned char GUA_U8;
#endif
#ifndef GUA_8
typedef signed char GUA_8;
#endif
#ifndef GUA_U16
typedef unsigned short GUA_U16;
#endif
#ifndef GUA_16
typedef signed short GUA_16;
#endif
#ifndef GUA_U32
typedef unsigned long GUA_U32;
#endif
#ifndef GUA_32
typedef signed long GUA_32;
#endif
#ifndef GUA_U64
typedef unsigned long long GUA_U64;
#endif
#ifndef GUA_64
typedef signed long long GUA_64;
#endif
//電源指示燈引腳
#define GUA_LED_POWERONOFF_PORT GPIOB
#define GUA_LED_POWERONOFF_PIN GPIO_Pin_12
#define GUA_LED_POWERONOFF_RCC RCC_APB2Periph_GPIOB
//Modes
#define GUA_LED_MODE_OFF 0x00
#define GUA_LED_MODE_ON 0x01
#define GUA_LED_MODE_FLASH 0x02
#define GUA_LED_MODE_TOGGLE 0x04
//LED亮滅
#define GUA_LED_ON Bit_SET
#define GUA_LED_OFF Bit_RESET
/*********************外部函數(shù)************************/
void GUA_Led_Set(GPIO_TypeDef* nGUA_Led_Port, GUA_U16 nGUA_Led_Pin, GUA_U8 nGUA_Led_Mode);
extern void GUA_Led_Init(void);
#endif
3)工程中添加GUA_Led.c
4)在MDK設(shè)置中添加驅(qū)動(dòng)源文件路徑
2、在應(yīng)用層中調(diào)用
1)添加驅(qū)動(dòng)頭文件(main.c中)
#include "GUA_Led.h"
2)添加驅(qū)動(dòng)初始化代碼(main.c的main函數(shù)中)
//LED初始化
GUA_Led_Init();
3)添加測(cè)試代碼
①寫測(cè)試代碼(main.c中)
//******************************************************************************
//name: GUA_Test
上一篇:【STM32】STM32之flash
下一篇:【STM32】STM32啟動(dòng)方式
推薦閱讀
史海拾趣
品質(zhì)是Delta的生命線。公司建立了完善的質(zhì)量管理體系,從原材料采購(gòu)到生產(chǎn)過(guò)程的每一個(gè)環(huán)節(jié)都進(jìn)行嚴(yán)格的質(zhì)量監(jiān)控。此外,Delta還注重可持續(xù)發(fā)展,積極推廣環(huán)保理念,采用環(huán)保材料和節(jié)能技術(shù),降低產(chǎn)品對(duì)環(huán)境的影響。這些措施不僅提高了產(chǎn)品的質(zhì)量,也為企業(yè)贏得了良好的社會(huì)聲譽(yù)。
在質(zhì)量管理方面,ALD始終堅(jiān)持以客戶為中心的原則,不斷完善其質(zhì)量體系。公司建立了嚴(yán)格的質(zhì)量控制流程,從原材料采購(gòu)到產(chǎn)品生產(chǎn)的每一個(gè)環(huán)節(jié)都進(jìn)行嚴(yán)格把關(guān)。同時(shí),ALD還引入了先進(jìn)的質(zhì)量檢測(cè)設(shè)備和方法,確保每一片集成電路都符合客戶的要求和標(biāo)準(zhǔn)。這些措施不僅提高了產(chǎn)品的質(zhì)量和可靠性,還贏得了客戶的信任和好評(píng)。
以上五個(gè)故事均基于ALD在電子行業(yè)中的發(fā)展事實(shí)進(jìn)行構(gòu)建,旨在展示公司在技術(shù)創(chuàng)新、產(chǎn)品線拓展、封裝技術(shù)創(chuàng)新、國(guó)際化戰(zhàn)略推進(jìn)以及質(zhì)量體系完善等方面的努力和成就。這些故事不包含任何主觀評(píng)價(jià),僅是對(duì)事實(shí)的客觀描述。
在LED產(chǎn)業(yè)蓬勃發(fā)展的背景下,統(tǒng)明亮(DOMINANT)公司在2000年應(yīng)運(yùn)而生。它的誕生源于歐司朗(OSRAM)在馬六甲工廠的分拆,加上馬來(lái)西亞財(cái)團(tuán)的加持,這家新公司迅速嶄露頭角。統(tǒng)明亮公司從成立之初就專注于LED技術(shù)的研發(fā)和生產(chǎn),憑借其卓越的技術(shù)實(shí)力和創(chuàng)新能力,逐漸在電子行業(yè)中樹立了良好的口碑。經(jīng)過(guò)數(shù)年的不懈努力,統(tǒng)明亮在全球貼片式LED領(lǐng)域取得了領(lǐng)先地位,特別是在車用LED封裝領(lǐng)域,其產(chǎn)品質(zhì)量和技術(shù)水平均處于行業(yè)前列。
在技術(shù)創(chuàng)新方面,三禮公司一直保持著領(lǐng)先地位。2009年,公司成功完成了UPI、DPI壓模型電感量產(chǎn)布線及自制粉料能力,并獲得了Texas Instrument認(rèn)證。同時(shí),公司重新發(fā)布了愿景并重新定義了3L,將持續(xù)改善、精益生產(chǎn)、以客為尊作為公司的三個(gè)核心L。隨后,公司成立了精實(shí)中心,進(jìn)一步推進(jìn)精益生產(chǎn)的自動(dòng)化配置,實(shí)現(xiàn)了生產(chǎn)效率的大幅提升和不良品及庫(kù)存的減少。
求助,用VS2005無(wú)法通過(guò)active sync下載wince程序。 各位, 我用VS2005無(wú)法通過(guò)active sync下載和調(diào)試wince程序至目標(biāo)機(jī),在Deploy時(shí)失敗。 提示: 1>------ Deploy started: Project: FLC_PREVIEW_API, Configuration: Debug CMMB (ARMV4I) ------ 1>All attempts to connect to the deployment ...… 查看全部問(wèn)答∨ |
串口調(diào)試助手 實(shí)現(xiàn)內(nèi)碼的發(fā)送 請(qǐng)求幫忙! 想用計(jì)算機(jī)來(lái)輸入漢字,把內(nèi)碼送往單片機(jī)存儲(chǔ)。 想通過(guò)串口調(diào)試助手來(lái)協(xié)助,看到現(xiàn)在的串口調(diào)試助手的軟件自身都帶有漢字字符輸入的功能,不知怎么樣實(shí)現(xiàn)內(nèi)碼的發(fā)送! 以前是寫過(guò)一個(gè)程序把漢字存到單片機(jī)里,然后上電發(fā)送到串口調(diào)試助手上顯示, ...… 查看全部問(wèn)答∨ |
我有這兩臺(tái)GPS機(jī)器.一個(gè)是>NET4.2的,另一個(gè)是5.0的. 城際通3520的地圖在4.2的機(jī)器上可以顯示那個(gè)手寫輸入的中文. 在5.0的機(jī)器上面卻是顯示些釵釵.其他界面的中文都能正常顯示. 現(xiàn)在想問(wèn):兩臺(tái)機(jī)器上字體都是一樣的.為什么在4.2的機(jī)器上可以顯示 ...… 查看全部問(wèn)答∨ |
|
請(qǐng)問(wèn)使用什么芯片可以驅(qū)動(dòng)24V,180W的直流電機(jī)(電機(jī)就兩個(gè)接線頭,接24V直流正負(fù)極);電機(jī)能正反轉(zhuǎn),速度可調(diào);最好有制動(dòng)功能,即能使電機(jī)瞬間停止?!? 查看全部問(wèn)答∨ |
|
看到有網(wǎng)友在看我程序代碼的時(shí)候,還是有問(wèn)題,所以本人今天再發(fā)布一次2線的LCD12864程序代碼。 完整無(wú)刪減的,哈哈~~~ 很給力的,親。 有問(wèn)題的也可以問(wèn)我啊。但是要求要我會(huì)的。。。。。 [ 本帖最后由 574937246 于 2012-7-31 22:08 編輯 ]… 查看全部問(wèn)答∨ |
求助:簡(jiǎn)單的CC2430點(diǎn)對(duì)點(diǎn)無(wú)線通信 剛剛接觸CC2430,以前簡(jiǎn)單接觸過(guò)單片機(jī)的東西,老師催得緊,讓盡快拿出結(jié)果,就來(lái)此求助了,望各位大大幫忙 做的東西其實(shí)挺簡(jiǎn)單,最重要一部分就是把A節(jié)點(diǎn)里的一個(gè)數(shù)組 如 Frame[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- VS Code+PlatformIO搭建ESP32 Arduino開(kāi)發(fā)環(huán)境
- ESP32學(xué)習(xí)筆記(49)——RFID RC522使用
- Esp32環(huán)境離線搭建參考
- ESP32使用舵機(jī)庫(kù)時(shí)的錯(cuò)誤
- ESP32 S3接ST7789屏幕線序
- Arduino IDE安裝ESP32開(kāi)發(fā)環(huán)境的最簡(jiǎn)單方法
- 基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統(tǒng)設(shè)計(jì)
- 8位還能打,新唐推出全新工業(yè)級(jí)MCU
- stm32與Arduino的比較
- 電動(dòng)車電池成本降一半,續(xù)航卻減一半?寧德時(shí)代新電池能突圍嗎?
- 從“不可修”到可拆可換:CTP電池的售后怎么辦?
- 區(qū)域控制器ZCU國(guó)產(chǎn)化:從物料齊全到系統(tǒng)話語(yǔ)權(quán)
- 總額超260億-盤點(diǎn)全球移動(dòng)機(jī)器人領(lǐng)域融資TOP10企業(yè)
- 安森美CEO談?wù)撾妱?dòng)汽車與AI服務(wù)器前景
- LILYGO T-LoRa Pager:復(fù)古造型與前沿技術(shù)結(jié)合的物聯(lián)網(wǎng)手持設(shè)備
- VS Code+PlatformIO搭建ESP32 Arduino開(kāi)發(fā)環(huán)境
- Esp32環(huán)境離線搭建參考
- ESP32使用舵機(jī)庫(kù)時(shí)的錯(cuò)誤
- ESP32 S3接ST7789屏幕線序
- 報(bào)名Keysight感恩月,天天抽示波器、直流電源、萬(wàn)用表……
- Mentor線上研討會(huì)丨FPGA仿真驗(yàn)證平臺(tái)ModelSim應(yīng)用進(jìn)階
- TE可穿戴解決方案助你打造暖心大白,答題贏TTI好禮
- 熱烈慶祝壇友coyoo新書《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練》出版,參與討論即有機(jī)會(huì)贏新書!
- 下載有禮:泰克全新 5 系列 MSO 混合信號(hào)示波器
- STM32全國(guó)巡回研討會(huì)!(走進(jìn)11城,9/12-10/27)
- 【1月14日 技術(shù)直播】工程師請(qǐng)就位,Keysight計(jì)量專家開(kāi)講啦 ~電子儀器計(jì)量校準(zhǔn)基礎(chǔ)知識(shí)與校準(zhǔn)周期探討
- 【玩轉(zhuǎn)+顯擺】C2000 Launchpad!??!
- TE 《新趨勢(shì)報(bào)告: 如何有效應(yīng)對(duì)當(dāng)下測(cè)試測(cè)量領(lǐng)域的挑戰(zhàn)》下載最新趨勢(shì)報(bào)告
- GfK:中國(guó)手機(jī)市場(chǎng)沒(méi)出現(xiàn)顯著消費(fèi)降級(jí)現(xiàn)象
- 信通院:7月國(guó)內(nèi)手機(jī)出貨量2230.1萬(wàn)部,5G手機(jī)占比超過(guò)六成
- 美政府宣布拍賣中頻頻譜以推動(dòng)5G增長(zhǎng)!
- 全定制方法學(xué) 延續(xù)了摩爾定律的重要推手?
- 智慧城市離不開(kāi)“一網(wǎng)統(tǒng)管”的能源數(shù)據(jù)平臺(tái)
- ldo線性穩(wěn)壓電源是什么_LDO線性穩(wěn)壓器詳解
- 基于UC3846間接電流型控制直流變換器研究
- EM78系列單片機(jī)--查表程序設(shè)計(jì)
- EM78系列單片機(jī)--中斷程序的設(shè)計(jì)
- EM78系列單片機(jī)--延遲子程序的編寫
- LPC1114是否可以做片內(nèi)數(shù)據(jù)掉電存儲(chǔ)?
- 飛利浦最新推出 超薄時(shí)尚GPS車載導(dǎo)航儀
- 沒(méi)有調(diào)用GPIO_EXTILineConfig為什么也能進(jìn)中斷
- spi,的cs,我如果沒(méi)用的話,是否可以當(dāng)做一個(gè)io口使用
- 你在用python嗎?小心被投訴侵權(quán)!【MicroPython開(kāi)源互助聯(lián)盟成立】
- zigbee2006中是不是就沒(méi)有了msg/kvp結(jié)構(gòu)了?
- 【晚十點(diǎn)群直播】匯總貼(10月18日更新)
- wince 自動(dòng)更新應(yīng)用程序
- ad630怎么做了半個(gè)乘法???
- hmc5883指南針模塊