1. 程式人生 > >stm32入門之點燈

stm32入門之點燈

對引腳操作:

eg點亮led燈: 1、首先要知道led燈所對應的引腳,在對應晶片的datasheet的中找到它的模組框圖和時鐘樹種找到上級時鐘並且將其開啟。  然後用結構體對其進行初始化,初始化時根據你的需求進行相應的引數配置。  ZET6的datasheet的時鐘樹如圖:
模組圖:

2、使用初始化函式將其初始化。
3、找到原理圖,獲知操作的元件需要高電平還是低電平。比如此處led燈需要高電平,可以通過 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)這個函式將電平拉高。 如果元件需要低電平可以通過void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)函式拉低電平。
也可以直接通過位操作進行設定電平。 用void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)函式直接寫入 某模組所有的電平情況。
操作如下: 比如要對GPIO_Pin_10進行置高電平操作。 可以用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);
	
}