日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]搗鼓了幾天,終于點(diǎn)亮led了,那個(gè)欣慰啊。。。至于建立工程模板,對(duì)于我這種小白來(lái)說(shuō)確實(shí)不容易上手,搗鼓了好久,不是忘記添加.c文件,就是忘記加入頭文件的路徑(頭文件的路徑千萬(wàn)要是英文)。其實(shí)模板建立好之后,

搗鼓了幾天,終于點(diǎn)亮led了,那個(gè)欣慰啊。。。


至于建立工程模板,對(duì)于我這種小白來(lái)說(shuō)確實(shí)不容易上手,搗鼓了好久,不是忘記添加.c文件,就是忘記加入頭文件的路徑(頭文件的路徑千萬(wàn)要是英文)。其實(shí)模板建立好之后,只需要編寫(xiě)兩個(gè)文件夾(1)USER,用來(lái)編輯主函數(shù)的。(2)HADEWARE(硬件)用來(lái)配置相關(guān)硬件的,eg:包含led.c led.h 后面要用的話,直接在這里邊調(diào)用就行了。


接下來(lái)就是led的點(diǎn)亮和蜂鳴器發(fā)出響聲了。

對(duì)于led,首先上個(gè)電路圖:



板子上有兩個(gè)led,DS0和DS1分別接了PB5,PE5,.


重要的是對(duì)init(初始化)的配置:


voidLED_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|

RCC_APB2Periph_GPIOE,ENABLE);//使能PB,PE端口時(shí)鐘

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0-->PB.5推挽輸出

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB.5輸出高

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED1-->PE.5推挽輸出

GPIO_Init(GPIOE,&GPIO_InitStructure);

GPIO_SetBits(GPIOE,GPIO_Pin_5);/PE.5輸出高

}

要調(diào)好GPIO_InitTypeDef結(jié)構(gòu)體中三個(gè)成員,傳遞參數(shù)進(jìn)去完成初始化。

每個(gè)HADEWARE中的.c文件對(duì)應(yīng)一個(gè).h文件,再看#include "led.h",這是自己寫(xiě)的頭文件


#ifndef__LED_H

#define__LED_H

#include"sys.h"

//LED端口定義

#defineLED0PBout(5)//DS0

#defineLED1PEout(5)//DS1

voidLED_Init(void);//初始化

#endif


這段代碼里面最關(guān)鍵就是 2 個(gè)宏定義:


#defineLED0PBout(5)//DS0

#defineLED1PEout(5)//DS1


這樣調(diào)用led更加方便,增加可讀性。

重要的是要將led.c加到HADEWARE這個(gè)組里邊:



然后就是主函數(shù)了,挺簡(jiǎn)單的:


#include"led.h"

#include"delay.h"

#include"sys.h"

//ALIENTEK戰(zhàn)艦STM32開(kāi)發(fā)板實(shí)驗(yàn)1

144

//跑馬燈實(shí)驗(yàn)

intmain(void)

{

delay_init();//延時(shí)函數(shù)初始化

LED_Init();//初始化與LED連接的硬件接口

while(1)

{LED0=0;

LED1=1;

delay_ms(300);//延時(shí)300ms

LED0=1;

LED1=0;

delay_ms(300);//延時(shí)300ms

}

}



對(duì)于蜂鳴器,電路圖沒(méi)看懂,模數(shù)電沒(méi)學(xué)過(guò),電路也只學(xué)到11章,考了83分的渣渣,確實(shí)不知道NPN三極管怎么用,只是記住當(dāng) PB.8 輸出高電平的時(shí)候,蜂鳴器將發(fā)聲, 當(dāng) PB.8 輸出低電平的時(shí)候,蜂鳴器停止發(fā)聲。


蜂鳴器在HADEWARE中配置beep.c和beep.h和led差不多不再贅述,


#include"beep.h"

151

//初始化PB8為輸出口.并使能這個(gè)口的時(shí)鐘

//LEDIO初始化

voidBEEP_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

//使能GPIOB端口時(shí)鐘

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//BEEP-->GPIOB.8端口配置

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度為50MHz

GPIO_Init(GPIOB,&GPIO_InitStructure);//根據(jù)參數(shù)初始化GPIOB.8

GPIO_ResetBits(GPIOB,GPIO_Pin_8);//輸出0,關(guān)閉蜂鳴器輸出

}


注意要使能相應(yīng)的時(shí)鐘端口


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);


同樣,beep.h中


#ifndef__BEEP_H

#define__BEEP_H

#include"sys.h"

//蜂鳴器端口定義

#defineBEEPPBout(8)//BEEP,蜂鳴器接口

voidBEEP_Init(void);//初始化

#endif



主函數(shù):


#include"sys.h"

#include"delay.h"

#include"led.h"

#include"beep.h"

//ALIENTEK戰(zhàn)艦STM32開(kāi)發(fā)板實(shí)驗(yàn)2

//蜂鳴器實(shí)驗(yàn)

intmain(void)

{

delay_init();//延時(shí)函數(shù)初始化

LED_Init();//初始化與LED連接的硬件接口

BEEP_Init();//初始化蜂鳴器端口

while(1)

{LED0=0;

BEEP=0;

delay_ms(300);

LED0=1;

BEEP=1;

delay_ms(300);

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

這是一個(gè)很好的時(shí)鐘,有很大的片段,你可以設(shè)置每個(gè)片段的顏色和強(qiáng)度。有三個(gè)按鈕,蜂鳴器,光傳感器和RTC與備用電池。時(shí)鐘通過(guò)USB C供電,具有當(dāng)前時(shí)間,計(jì)時(shí)器和秒表等功能。請(qǐng)隨意添加您自己的功能!

關(guān)鍵字: 蜂鳴器 光傳感器 RTC

Holtek新推出專為感煙報(bào)警器應(yīng)用設(shè)計(jì)的Flash MCU - BA45F25752/BA45F25762,整合雙通道感煙偵測(cè)AFE、紅外/藍(lán)光LED驅(qū)動(dòng)、萬(wàn)年歷與蜂鳴器驅(qū)動(dòng)等功能。相較于先前的BA45F5750/BA...

關(guān)鍵字: 感煙報(bào)警器 MCU 蜂鳴器

HT16K24操作電壓為2.4V~5.5V,內(nèi)建I2C通信接口,提供三種LCD顯示與按鍵模式:24SEG × 4COM + 24 KEY;22SEG × 6COM + 22 KEY;20SEG × 8COM + 20 K...

關(guān)鍵字: LCD MCU 蜂鳴器

Holtek新推出集成感煙探測(cè)AFE、雙通道LED驅(qū)動(dòng)及9 V蜂鳴器驅(qū)動(dòng)的32-bit Arm? Cortex?-M0+ MCU HT32L62141,采用超低功耗ULP (Ultra-Low Power) 設(shè)計(jì),并提供...

關(guān)鍵字: MCU 煙探測(cè)器 蜂鳴器

這個(gè)項(xiàng)目是農(nóng)業(yè)自動(dòng)化的一個(gè)有趣的旋轉(zhuǎn):一個(gè)機(jī)器人松露嗅探器,可以自主導(dǎo)航一個(gè)空間,識(shí)別代表松露熱點(diǎn)的AprilTags,并收集“松露”(用彩色球模擬)。靈感來(lái)源于現(xiàn)實(shí)生活中用豬和狗來(lái)定位地下的松露。

關(guān)鍵字: 機(jī)器人 蜂鳴器 計(jì)算機(jī)視覺(jué)

本項(xiàng)目將向您介紹來(lái)自Elecrow的新型1.28英寸圓形顯示器,該顯示器集成了ESP32C3芯片等!該項(xiàng)目將演示將設(shè)備固件更新到MicroPython并顯示自定義消息的步驟。

關(guān)鍵字: 顯示器 ESP32C3 蜂鳴器

把“G”分開(kāi)是對(duì)吉尼斯啤酒飲用技巧的真正考驗(yàn)——準(zhǔn)確地喝一口,液體的水平面要正好落在吉尼斯標(biāo)志上“G”的中間。作為一個(gè)不喝酒的人,我想看看我是否能設(shè)計(jì)出一條通往成功的道路。所以,我做了一個(gè)設(shè)備,使用非接觸式液體傳感器和蜂...

關(guān)鍵字: 傳感器 Arduino 蜂鳴器

在現(xiàn)代電子設(shè)備中,蜂鳴器作為一種能夠發(fā)出聲音信號(hào)的器件,被廣泛應(yīng)用于各種領(lǐng)域,如電子玩具、報(bào)警器、電子設(shè)備的提示音等。其中,有源壓電式蜂鳴器以其只需接上額定直流電壓即可發(fā)聲的特點(diǎn),受到了工程師們的青睞。那么,有源壓電式蜂...

關(guān)鍵字: 蜂鳴器 器件 直流電壓

我有很多魔方。有些很大;有些很小;有些花費(fèi)了一大筆錢。兩年前,我的弟弟把我的一個(gè)立方體扔在地上,毀了它,從那以后,我花了90美元升級(jí)了安全設(shè)備,以防止這種情況再次發(fā)生。但即使他沒(méi)有破壞我的立方體,他也會(huì)在我展示的時(shí)候破壞...

關(guān)鍵字: Arduino Uno LCD 閃光燈 蜂鳴器

蜂鳴器是一種非常常用的電子元器件,廣泛用于各種電子設(shè)備中的聲音輸出。而三極管則是一種半導(dǎo)體器件,具有放大和開(kāi)關(guān)等功能。通過(guò)三極管的開(kāi)關(guān)狀態(tài),可以驅(qū)動(dòng)蜂鳴器產(chǎn)生聲音。

關(guān)鍵字: 蜂鳴器 三極管
關(guān)閉