前回と同様 STM32L010 を使用
STM32L010は、表示パターンだけ変更して
Ichigojam のプログラムを書いた。
パターンは、空白、ぐう、ちょき、ぱー
作った目的は、配線やichigojamでの
プログラムで力が尽きてしまうので
安いマイコンを補助的に使うと
達成感が得られて前に進める為
本質的には非常に難しい。
補助マイコンはfpga(書き換え可能回路)
的に使用。
!!2020/10/24
!!stm32l010f4p6は、USARTシリアル書き込み出来ました。
!!(st-link nBOOT0を立ててください。)古いネタ
!!ユーチューブ キーワード STM32L010F4P6
!!新品 USART書き込み成功









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