忍者ブログ

覚え書き

パソコン・マイコン関連の、あとで必要になりそうな情報を残しておくための、健忘録てきななにかです。

[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

STM32F030F4P6でボタン入力(EmBitz-サンプルプログラム)
EmBitzは思ったよりも資料が少ない感じで、もしかしたらおすすめでは無いかもしれません。

ですが、後々私自身が必要になりそうな気がするので、判ったことを、忘れないように書き留めておきます。




STM32F030F4P6の乗ったミニ基版で、わりとメジャーな存在のボードと、タクトスイッチで作った押しボタン回路を接続しています。接続先はGPIOAの01番Pinです。


このボタンを押したら、ボード上のLEDが点灯するというプログラムを書きました。


/*
**                     GPIO-IDR-Main.c
**                     ボタンを押すとLEDが光るプログラム
**                     EmBitz
**                     A1-Input
**                     A4-LED
**
**********************************************************************/
/*
   Last committed:     $Revision:   03 $
   Last changed by:    $Author:     Masaomi.Takahashi.$
   Last changed date:  $Date:       2019-07-02
   ID:                 $Id:         0002$
**********************************************************************/
#include "stm32f0xx.h"
int main(void)
{
    RCC ->AHBENR |= (1<<17);    //GPIO-Aの初期化(最初は0クロックで無可動状態)
    GPIOA -> MODER |= (1<<8);   // ピン A - 4 を出力モードに
    GPIOA -> IDR   |= (1<<2);   // ピン A - 1 を入力モードに
    GPIOA -> PUPDR |= (1<<2);   // ピン A - 1 を プルアップ指定
while(1){
    if(!(GPIOA->IDR & GPIO_IDR_1)){
        GPIOA ->ODR |= (1<<4);  //GPIOA-Pin4をOnにする  - - - - - - - - 9.4.6(ポート出力)
    } else {
        GPIOA ->ODR &= ~(1<<4); //GPIOA-Pin4をOffにする - - - - - - - - 9.4.6(ポート出力)
}   }   }



これだけです。



一応、動画にアップロードしました。


下はオマケ(蛇足)です。

自作した、ほぼ同等の回路。市販のミニ基板とほぼ同面積です。プログラムの書き込み、吸い出し、消去も出来ますし、LEDもミニ基板と同様のGPIOA-4番Pinに接続してあります。その上で、スイッチを追加出来るようになってます。


その前進の形。この時点では、スイッチ部分の回路がまだ未確定でした。
プログラムに関してもよく判らない、ハードウェアについてもよく解らない。
そんな状況下での開発だったので、開発はものすごく難航しました。当初は「点きっぱなしだったLEDが消えたぞ。やった、成功だ!!」と思ったら、単に回路がショートしているだけだったりとか。

まぁ、そんな感じです。

拍手[0回]

PR

コメント

コメントを書く