このおもちゃ、やだ・・・
自分のレベルだとおとなしく、Arduinoをやっとくべきだったと気づいた。
LEDチカチカに手ごろな空きポートがあることを回路図から発見しましたが、まずは構造体にしなきゃいけない。
いや、別にしなくてもいいけど、やらないと負けた気がする。
適当な順番でLEDポートの設定を見ていく。
GPIO_InitStructure.GPIO_Pin = LD_GREEN_GPIO_PIN | LD_BLUE_GPIO_PIN | LD_BLUE_GPIO_PIN2 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(LD_GPIO_PORT, &GPIO_InitStructure);
http://www.minokasago.org/STM32wiki/index.php?GPIO_Init
まず、初期化のためにGPIO_InitStructureを生成してから、
ポインタとして使う。まず先に設定(スピードとか、入力か出力かとか)して、
GPIO_Init(LD_GPIO_PORT, &GPIO_InitStructure);
で設定を完了する。
STM32だとPA5、PA11が空きポートなので、
/* Configure the LED_pin as output push-pull for GPIOA GPIO_Pin_5 & Pin_11 usage*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_11 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Force a low level on LEDs*/ GPIO_LOW(GPIOA,GPIO_Pin_5); GPIO_LOW(GPIOA,GPIO_Pin_11);
という感じで設定してやれば使えるはず・・・。もろもろの設定(RCCとか)はGPIOとして一括でやってるはず!!
構造体やポインタがわかってなくてメタメタだな・・・