[STM32F103 GPIO 定義說明]
void GPIO_Configuration(void)//初始化
{
GPIO_InitTypeDef GPIO_InitStructure; //定義了一個初始化的結構體變數,其中包括埠引腳,速度,模式,
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3
| GPIO_Pin_4 ;
//GPIO_Pin_None;
//無管腳被選中
//GPIO_Pin_0 - GPIO_Pin_15;//選中管腳 0-15
//GPIO_Pin_All;
//選中全部管腳
GPIO_InitStructure.GPIO_Mode =
GPIO_Mode_Out_PP;//推挽輸出
//GPIO_Mode_AIN; //模擬輸入
//GPIO_Mode_IN_FLOATING ;//浮空輸入
//GPIO_Mode_IPD; //下拉輸入
//GPIO_Mode_IPU; //上拉輸入
//GPIO_Mode_Out_OD; //開漏輸出
//GPIO_Mode_Out_PP; //推挽輸出
//GPIO_Mode_AF_OD; //複用開漏輸出
//GPIO_Mode_AF_PP; //複用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
//GPIO_Speed_10MHz; //最高輸出速率 10MHz
//GPIO_Speed_2MHz; //最高輸出速率 2
MHz
//GPIO_Speed_50MHz; //最高輸出速率 50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
}
main()
{
ReadValue =
GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13);//讀取指定埠位
ReadValue = GPIO_ReadInputData(GPIOC); //讀取指定的 GPIO埠輸入
ReadValue = GPIO_ReadOutputDataBit(GPIOB,
GPIO_Pin_7);//讀取指定埠管腳的輸出
ReadValue = GPIO_ReadOutputData(GPIOC); //讀取指定的 GPIO埠輸出
GPIO_SetBits(GPIOD,GPIO_Pin_2|GPIO_Pin_4);
//設置指定數據埠位元
GPIO_ResetBits(GPIOD,GPIO_Pin_2); //清除指定資料埠位元
GPIO_WriteBit(GPIOD, GPIO_Pin_3, Bit_SET);//設置指定數據埠位元
GPIO_WriteBit(GPIOD, GPIO_Pin_3, Bit_RESET);//清除指定資料埠位元
GPIO_Write(GPIOD,0x0004);//指定GPIO口寫數據
}
沒有留言:
張貼留言