|
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
2019-7-7 22:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
189.61 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5
點(diǎn)燈
評(píng)分
-
查看全部評(píng)分
|