Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2020/10/23 20:34:35

MixJuice GET URL : kidspod.club/mj/1027

STM32G031J6M6 信号機 表示器

信号機のプログラムを作成した。
4ビット ソフトウェアシリアル通信

メインテーマは、
STM32 CubeProgrammer -> OB ->NRET をモード2のGPIOにして
PA0をGPIOとして使える様にした。

サブテーマは、
STM32G031 のUSARTシリアル書き込みの実施
問題点は、事前にST-LINKを使ってnBOOT_SELをチェックを外しておかないと
USARTシリアル書き込みができない。
チェックを外したあとは、boot0は、Hでマイコン側PA9(TX),PA10(RX)で
書き込みができる。ユーチューブに動画をアップした。
キーワードは、STM32G031J6M6



1 が青
2 が黄色
4 が赤

青の時
OUT 11,0:WAIT 1
OUT 11,1:WAIT 2
OUT 11,0:WAIT 2
OUT 11,0:WAIT 2
OUT 11,0:WAIT 2
OUT 11,1:WAIT 2

  • 1
  • 1

SOURCE CODE

arduino側 

#include <Arduino.h>

#define led1 PA8
#define led2 PA12
#define led3 PA0
#define in7 PB7

void setup() {
  // put your setup code here, to run once:
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(in7,INPUT_PULLUP);
}

int a;
int b;
int c;
int d;


void loop() {
    //a=digitalRead(in7);
    //digitalWrite(led1,0);
    //digitalWrite(led2,1);
    //digitalWrite(led3,1);
    //delay(1000);
    //digitalWrite(led1,1);
    //digitalWrite(led2,0);
    //digitalWrite(led3,1);
    //delay(1000);
    //digitalWrite(led1,1);
    //digitalWrite(led2,1);
    //digitalWrite(led3,0);
    //delay(1000);

    // init led
    digitalWrite(led1,0);
    digitalWrite(led2,1);
    digitalWrite(led3,1);
    delay(500);

    while(1) {
        
        while( digitalRead(in7) == 1 ) {}
        delay(35);
        a=!(digitalRead(in7));
        delay(35);
        b=!(digitalRead(in7));
        delay(35);
        c=!(digitalRead(in7));
        delay(35);
        d=!(digitalRead(in7));
        delay(35);
        
        digitalWrite(led1, !(a) );
        digitalWrite(led2, !(b) );
        digitalWrite(led3, !(c) );

    }

}

ichigojam 側

10 'SINNGOUKI
20 FOR I=0 TO 2
30 S=1<<I
40 WAIT 60:GOSUB 100
50 NEXT
60 GOTO 20
100 '
110 OUT 11,0
120 WAIT 1
130 FOR J=0 TO 3
140 OUT 11,!( (S>>J)&1 )
150 WAIT 2
160 NEXT
170 OUT 11,1
180 WAIT 2
190 RETURN

COMMENT