STM32学校
主にGPIOポートの設定と使用のためのマーキーの実験、私はここには、次の2つの側面を設定するには、主に、プログラミングのためのライブラリ関数を使用することです。
1、IOポートは、クロックの使用を必要とすることができるように、A、B、C、D、E、F、G IOポートの合計7つのグループ
図2に示すように、初期化IOポート(IOポートはGPIO_Pin_0〜GPIO_Pin_15、総IOポート16とポート番号を()に設定、IOポートの出力速度が設けられ、配置されたIOポートの動作モード)
コードは以下の通りです
1 // ポートの初期化 2の#include " led.h " 3。の#include " stm32f10x.h " 4。 5。 ボイド LED_Init(ボイド) 6。 { 7。 GPIO_InitTypeDef GPIO_KST; 8。 9。 10 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE、ENABLE); // 有効ポートB及びE 11。 12である GPIO_KST.GPIO_Mode = GPIO_Mode_Out_PP; //は、プッシュプル出力ポートにモードを設定 13で GPIO_KST.GPIO_Pin = GPIO_Pin_5; // 選択ポート5 14 = GPIO_Speed_2MHz GPIO_KST.GPIO_Speed; // IOポート速度は最大2MHzに設定されている 15 GPIO_Init(GPIOB、&GPIO_KST); //はGPIOB.5初期化 16 17 18である GPIO_KST.GPIO_Mode = GPIO_Mode_Out_PP; //は、プッシュプル出力にポートモードを設定 19。 GPIO_KST。 = GPIO_Pin_5 GPIO_Pin; // 。選択ポート5 20であり ; GPIO_KST.GPIO_Speed = GPIO_Speed_2MHz // 速度IOポートは最大2MHzに設定されている 21で GPIO_Init(GPIOE、&GPIO_KST。); // GPIOE.5を初期化 22です }
メインプログラム
1 // メイン 2の#include " sys.h " 。3の#include " delay.h " 4の#include " led.h " 。5 。6 INTメイン(ボイド) 。7 { 8 delay_init(); // 遅延初期化 。9 LED_Init (); // LEDは、初期化 10を しばらくは(1 ) 。11 { 12で GPIO_ResetBits(GPIOE、GPIO_Pin_5); // LEDの近くPE5ポート 13れます GPIO_SetBits(GPIOB、GPIO_Pin_5); // LEDのポートPB5閉じ 14 Delay_ms(500); // 遅延100msの 15 GPIO_SetBits(GPIOE、GPIO_Pin_5。); 16 GPIO_ResetBits(GPIOB、GPIO_Pin_5); // LEDのオープンポートPB5 。17 Delay_ms (500); // 遅延100msの 18である } 19 20です }