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/14 19:11:57

MixJuice GET URL : kidspod.club/mj/1019

じゃんけん 表示器 STM32L010F4P6

前回と同様 STM32L010 を使用
STM32L010は、表示パターンだけ変更して
Ichigojam のプログラムを書いた。

パターンは、空白、ぐう、ちょき、ぱー


作った目的は、配線やichigojamでの
プログラムで力が尽きてしまうので
安いマイコンを補助的に使うと
達成感が得られて前に進める為
本質的には非常に難しい。
補助マイコンはfpga(書き換え可能回路)
的に使用。

!!2020/10/24
!!stm32l010f4p6は、USARTシリアル書き込み出来ました。
!!(st-link nBOOT0を立ててください。)古いネタ
!!ユーチューブ キーワード STM32L010F4P6
!!新品 USART書き込み成功

  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

SOURCE CODE

mbed 側

#include "mbed.h"


DigitalOut myled1(PA_1);
DigitalOut myled2(PA_2);
DigitalOut myled3(PA_3);
DigitalOut myled4(PA_4);
DigitalOut myled5(PA_5);
DigitalOut myled6(PA_6);
DigitalOut myled7(PA_7);

DigitalOut myled8(PB_1);

DigitalIn myin10(PA_10);
DigitalIn myin9(PA_9);

void seg0(){
myled1 = 1;myled2 = 1;myled3 = 1;myled4 = 1;myled5 = 1;myled6 = 1;myled7 = 1;myled8 = 1;
}
void seg1(){
myled1 = 1;myled2 = 1;myled3 = 1;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0;myled8 = 1;
}
void seg2(){
myled1 = 1;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0;myled8 = 1;
}
void seg3(){
myled1 = 0;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0;myled8 = 1;
}



int main() {
    int a = 0;
    int b = 1;
    
    while(1) {
        
        while( (a = myin9 * 2 + myin10) == b ) {}
        
        
        if ( a == 0 ) {      
        seg0();
        
        } else if ( a == 1 ) {
        seg1();
 
        } else if ( a == 2 ) {
        seg2();
 
        } else if ( a == 3 ) {
        seg3();
        }
         
        b=a;
    }
}


ichigojam 側

10 'JANKEN
20 'LOOP
30 FOR I=1 TO 3
40 OUT 10,I&1:OUT 11,(I>>1)&1
50 FOR J=1 TO 10
60 IF BTN(0)=1 THEN BEEP:END
70 NEXT
80 NEXT
90 GOTO 20:'LOOP

COMMENT