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

QQ登錄

只需一步,快速開始

搜索
查看: 2695|回復(fù): 1
收起左側(cè)

STM32單片機(jī)點(diǎn)燈代碼,親測(cè),代碼沒有任何問題,可以正常開關(guān)燈。

[復(fù)制鏈接]
ID:332539 發(fā)表于 2019-7-7 14:46 | 顯示全部樓層 |閱讀模式
1、首先要知道led燈所對(duì)應(yīng)的引腳,在對(duì)應(yīng)芯片的datasheet的中找到它的模塊框圖和時(shí)鐘樹種找到上級(jí)時(shí)鐘并且將其打開。  然后用結(jié)構(gòu)體對(duì)其進(jìn)行初始化,初始化時(shí)根據(jù)你的需求進(jìn)行相應(yīng)的參數(shù)配置。

ZET6的datasheet的時(shí)鐘樹如圖:
http://www.torrancerestoration.com/bbs/dpj-151738-1.html


2、使用初始化函數(shù)將其初始化。

3、找到原理圖,獲知操作的元件需要高電平還是低電平。比如此處led燈需要高電平,可以通過void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)這個(gè)函數(shù)將電平拉高。

如果元件需要低電平可以通過void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)函數(shù)拉低電平。

也可以直接通過位操作進(jìn)行設(shè)置電平。

用void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)函數(shù)直接寫入 某模塊所有的電平情況。

操作如下:
比如要對(duì)GPIO_Pin_10進(jìn)行置高電平操作。
可以用GPIO_SetBits(GPIOA,GPIO_Pin_10);
也可以用GPIO_WriteBit(0x01<<10);

上代碼:
void Led_Init()
{
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
        GPIO_Init(GPIOE, &GPIO_InitStructure);

}

圖片

圖片

led.7z

189.61 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

點(diǎn)燈

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:576308 發(fā)表于 2019-7-12 11:08 | 顯示全部樓層
學(xué)習(xí)一下,謝謝樓主
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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