stm32l010 spi 1r

Dependencies:   mbed

Committer:
caa45040
Date:
Tue May 18 04:20:09 2021 +0000
Revision:
0:0bc87195b118
stm32l010 spi 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caa45040 0:0bc87195b118 1 #include "mbed.h"
caa45040 0:0bc87195b118 2
caa45040 0:0bc87195b118 3 //* ***** *****
caa45040 0:0bc87195b118 4 //* * * *
caa45040 0:0bc87195b118 5 //* ****** * *
caa45040 0:0bc87195b118 6 //* * * *
caa45040 0:0bc87195b118 7 //* * * *
caa45040 0:0bc87195b118 8 //******** ***** *****
caa45040 0:0bc87195b118 9
caa45040 0:0bc87195b118 10 #define swclk1 PA_5 //A4
caa45040 0:0bc87195b118 11 #define test01 PA_6
caa45040 0:0bc87195b118 12 #define swdio1 PA_7 //A6
caa45040 0:0bc87195b118 13 #define en1 PA_4 //A3
caa45040 0:0bc87195b118 14
caa45040 0:0bc87195b118 15 //DigitalOut test1(test01);
caa45040 0:0bc87195b118 16
caa45040 0:0bc87195b118 17 //DigitalOut swdclk(swclk1);
caa45040 0:0bc87195b118 18 //DigitalOut swdio(swdio1);
caa45040 0:0bc87195b118 19 DigitalOut en(en1);
caa45040 0:0bc87195b118 20
caa45040 0:0bc87195b118 21 SPI spi( swdio1 , test01, swclk1); // mosi, miso, sclk
caa45040 0:0bc87195b118 22
caa45040 0:0bc87195b118 23 char seg[32][8] = {
caa45040 0:0bc87195b118 24 { 1,1,1,1,1,1,1,1 }, //0 @ -> ' '
caa45040 0:0bc87195b118 25 { 0,0,0,0,0,1,0,1 }, //1 A o
caa45040 0:0bc87195b118 26 { 1,1,0,0,0,0,0,1 }, //2 B  combined use "6"
caa45040 0:0bc87195b118 27 { 0,1,0,1,0,0,1,1 }, //3 C
caa45040 0:0bc87195b118 28 { 1,0,1,0,0,0,0,1 }, //4 D
caa45040 0:0bc87195b118 29 { 0,1,0,0,0,0,1,1 }, //5 E o
caa45040 0:0bc87195b118 30 { 0,1,0,0,0,1,1,1 }, //6 F
caa45040 0:0bc87195b118 31 { 0,1,0,1,0,0,0,1 }, //7 G
caa45040 0:0bc87195b118 32
caa45040 0:0bc87195b118 33 { 1,0,0,0,0,1,0,1 }, //8 H o
caa45040 0:0bc87195b118 34 { 1,0,1,1,1,1,0,1 }, //9 I  combined use "1"
caa45040 0:0bc87195b118 35 { 1,0,1,1,0,0,0,1 }, //10 J
caa45040 0:0bc87195b118 36 { 0,1,0,0,0,1,0,1 }, //11 K
caa45040 0:0bc87195b118 37 { 1,1,0,1,0,0,1,1 }, //12 L o
caa45040 0:0bc87195b118 38 { 0,1,1,1,0,1,0,1 }, //13 M
caa45040 0:0bc87195b118 39 { 0,0,0,1,0,1,0,1 }, //14 N o
caa45040 0:0bc87195b118 40 { 0,0,0,1,0,0,0,1 }, //15 O o combined use "0"
caa45040 0:0bc87195b118 41
caa45040 0:0bc87195b118 42 { 0,0,0,0,0,1,1,1 }, //16 P
caa45040 0:0bc87195b118 43 { 0,0,0,0,1,1,0,1 }, //17 Q combined use "9"
caa45040 0:0bc87195b118 44 { 1,1,1,0,0,1,1,1 }, //18 R
caa45040 0:0bc87195b118 45 { 0,1,0,0,1,0,0,1 }, //19 S combined use "5"
caa45040 0:0bc87195b118 46 { 1,1,0,0,0,0,1,1 }, //20 T
caa45040 0:0bc87195b118 47 { 1,0,0,1,0,0,0,1 }, //21 U
caa45040 0:0bc87195b118 48 { 1,1,1,1,0,0,0,1 }, //22 V
caa45040 0:0bc87195b118 49 { 1,0,0,1,1,0,1,1 }, //23 W o
caa45040 0:0bc87195b118 50 { 1,1,0,0,1,1,0,1 }, //24 X
caa45040 0:0bc87195b118 51
caa45040 0:0bc87195b118 52 { 1,0,0,0,1,0,0,1 }, //25 Y
caa45040 0:0bc87195b118 53 { 0,0,1,0,0,0,1,1 }, //26 Z combined use "2"
caa45040 0:0bc87195b118 54 { 0,0,1,0,1,0,0,1 }, //27 [ --> "3"
caa45040 0:0bc87195b118 55 { 1,0,0,0,1,1,0,1 }, //28 \ --> "4"
caa45040 0:0bc87195b118 56 { 0,0,0,1,1,1,0,1 }, //29 ] --> "7"
caa45040 0:0bc87195b118 57 { 0,0,0,0,0,0,0,1 }, //26 ^ --> "8"
caa45040 0:0bc87195b118 58 { 1,1,1,1,1,0,1,1 } //31 _
caa45040 0:0bc87195b118 59 };
caa45040 0:0bc87195b118 60
caa45040 0:0bc87195b118 61 int vc;
caa45040 0:0bc87195b118 62 int ch_chvc(int s)
caa45040 0:0bc87195b118 63 {
caa45040 0:0bc87195b118 64 s = s - 64;
caa45040 0:0bc87195b118 65
caa45040 0:0bc87195b118 66 vc =0;
caa45040 0:0bc87195b118 67 vc = vc | ((!(seg[s][7])) << 7);
caa45040 0:0bc87195b118 68 vc = vc | ((!(seg[s][3])) << 6);
caa45040 0:0bc87195b118 69 vc = vc | ((!(seg[s][2])) << 5);
caa45040 0:0bc87195b118 70 vc = vc | ((!(seg[s][4])) << 4);
caa45040 0:0bc87195b118 71 vc = vc | ((!(seg[s][5])) << 3);
caa45040 0:0bc87195b118 72 vc = vc | ((!(seg[s][6])) << 2);
caa45040 0:0bc87195b118 73 vc = vc | ((!(seg[s][1])) << 1);
caa45040 0:0bc87195b118 74 vc = vc | ((!(seg[s][0])) << 0);
caa45040 0:0bc87195b118 75
caa45040 0:0bc87195b118 76 return(vc);
caa45040 0:0bc87195b118 77 }//ch_chvc
caa45040 0:0bc87195b118 78
caa45040 0:0bc87195b118 79 //d int v;
caa45040 0:0bc87195b118 80 //d int rs;
caa45040 0:0bc87195b118 81 //d void seg1()
caa45040 0:0bc87195b118 82 //d {
caa45040 0:0bc87195b118 83 //d swdio=((v>>7)&1); swdclk=1;swdclk=0; //7
caa45040 0:0bc87195b118 84 //d swdio=((v>>6)&1); swdclk=1;swdclk=0; //6
caa45040 0:0bc87195b118 85 //d swdio=((v>>5)&1); swdclk=1;swdclk=0; //5
caa45040 0:0bc87195b118 86 //d swdio=((v>>4)&1); swdclk=1;swdclk=0; //4
caa45040 0:0bc87195b118 87 //d swdio=((v>>3)&1); swdclk=1;swdclk=0; //3
caa45040 0:0bc87195b118 88 //d swdio=((v>>2)&1); swdclk=1;swdclk=0; //2
caa45040 0:0bc87195b118 89 //d swdio=((v>>1)&1); swdclk=1;swdclk=0; //1
caa45040 0:0bc87195b118 90 //d swdio=((v>>0)&1); swdclk=1;swdclk=0; //0
caa45040 0:0bc87195b118 91 //d swdio=rs;
caa45040 0:0bc87195b118 92 //d en=1;
caa45040 0:0bc87195b118 93 //d wait_ms(1);
caa45040 0:0bc87195b118 94 //d en=0;
caa45040 0:0bc87195b118 95 //d }//seg1
caa45040 0:0bc87195b118 96
caa45040 0:0bc87195b118 97 int main() {
caa45040 0:0bc87195b118 98
caa45040 0:0bc87195b118 99 //d en=1; //debug
caa45040 0:0bc87195b118 100 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 101 //d
caa45040 0:0bc87195b118 102 //d swdio=1; //debug
caa45040 0:0bc87195b118 103 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 104
caa45040 0:0bc87195b118 105 //d en=0;
caa45040 0:0bc87195b118 106 //d swdio=0;
caa45040 0:0bc87195b118 107 //d for(int i=0;i<16;i++){
caa45040 0:0bc87195b118 108 //d swdclk=1;
caa45040 0:0bc87195b118 109 //d wait_ms(15);
caa45040 0:0bc87195b118 110 //d swdclk=0;
caa45040 0:0bc87195b118 111 //d wait_ms(15);
caa45040 0:0bc87195b118 112 //d }//for
caa45040 0:0bc87195b118 113
caa45040 0:0bc87195b118 114 spi.format(8,0);
caa45040 0:0bc87195b118 115 spi.frequency(1000000);
caa45040 0:0bc87195b118 116
caa45040 0:0bc87195b118 117 en=0;
caa45040 0:0bc87195b118 118
caa45040 0:0bc87195b118 119 int v; //バリュー 表示のパターン
caa45040 0:0bc87195b118 120
caa45040 0:0bc87195b118 121 //v=ch_chvc('Y');
caa45040 0:0bc87195b118 122 //spi.write(v);en=1;en=0; //debug
caa45040 0:0bc87195b118 123 //wait_ms(1000);
caa45040 0:0bc87195b118 124
caa45040 0:0bc87195b118 125 v=ch_chvc('@');
caa45040 0:0bc87195b118 126 spi.write(v);en=1;en=0; //debug
caa45040 0:0bc87195b118 127 wait_ms(1000);
caa45040 0:0bc87195b118 128
caa45040 0:0bc87195b118 129 //en=1; //debug
caa45040 0:0bc87195b118 130 //wait_ms(1000); //debug
caa45040 0:0bc87195b118 131
caa45040 0:0bc87195b118 132 //d en=0;
caa45040 0:0bc87195b118 133 //d for(int i=0;i<16;i++){
caa45040 0:0bc87195b118 134 //d en=1;
caa45040 0:0bc87195b118 135 //d wait_ms(15);
caa45040 0:0bc87195b118 136 //d en=0;
caa45040 0:0bc87195b118 137 //d wait_ms(15);
caa45040 0:0bc87195b118 138 //d }//for
caa45040 0:0bc87195b118 139
caa45040 0:0bc87195b118 140 //d v=0x55;seg1(); //debug
caa45040 0:0bc87195b118 141 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 142 //d v=0xaa;seg1(); //debug
caa45040 0:0bc87195b118 143 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 144
caa45040 0:0bc87195b118 145 int ii; //ループカウンター
caa45040 0:0bc87195b118 146 //int v; //バリュー 表示のパターン
caa45040 0:0bc87195b118 147
caa45040 0:0bc87195b118 148 //無限ループ
caa45040 0:0bc87195b118 149 while(1) {
caa45040 0:0bc87195b118 150
caa45040 0:0bc87195b118 151 //0分
caa45040 0:0bc87195b118 152 v=ch_chvc('O');spi.write(v);en=1;en=0;
caa45040 0:0bc87195b118 153
caa45040 0:0bc87195b118 154 for(ii = 0;ii < 60;ii++){
caa45040 0:0bc87195b118 155 wait_ms(1000);
caa45040 0:0bc87195b118 156 }//for
caa45040 0:0bc87195b118 157
caa45040 0:0bc87195b118 158 //1分
caa45040 0:0bc87195b118 159 v=ch_chvc('I');spi.write(v);en=1;en=0;
caa45040 0:0bc87195b118 160
caa45040 0:0bc87195b118 161 for(ii = 0;ii < 60;ii++){
caa45040 0:0bc87195b118 162 wait_ms(1000);
caa45040 0:0bc87195b118 163 }//for
caa45040 0:0bc87195b118 164
caa45040 0:0bc87195b118 165 //2分
caa45040 0:0bc87195b118 166 v=ch_chvc('Z');spi.write(v);en=1;en=0;
caa45040 0:0bc87195b118 167
caa45040 0:0bc87195b118 168 for(ii = 0;ii < 60;ii++){
caa45040 0:0bc87195b118 169 wait_ms(1000);
caa45040 0:0bc87195b118 170 }//for
caa45040 0:0bc87195b118 171
caa45040 0:0bc87195b118 172 //3分
caa45040 0:0bc87195b118 173 v=ch_chvc('[');spi.write(v);en=1;en=0;
caa45040 0:0bc87195b118 174
caa45040 0:0bc87195b118 175
caa45040 0:0bc87195b118 176 while(1){} //無限ループ
caa45040 0:0bc87195b118 177 //d while(1){ //debug
caa45040 0:0bc87195b118 178 //d swdclk=1; //debug
caa45040 0:0bc87195b118 179 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 180 //d swdclk=0; //debug
caa45040 0:0bc87195b118 181 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 182 //d }//while //debug
caa45040 0:0bc87195b118 183
caa45040 0:0bc87195b118 184
caa45040 0:0bc87195b118 185 //d while(1){ //debug
caa45040 0:0bc87195b118 186 //d en=1; //debug
caa45040 0:0bc87195b118 187 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 188 //d en=0; //debug
caa45040 0:0bc87195b118 189 //d wait_ms(1000); //debug
caa45040 0:0bc87195b118 190 //d }//while //debug
caa45040 0:0bc87195b118 191
caa45040 0:0bc87195b118 192 }//while //無限ループ
caa45040 0:0bc87195b118 193 }//main
caa45040 0:0bc87195b118 194
caa45040 0:0bc87195b118 195 //容量削減
caa45040 0:0bc87195b118 196 void error(const char* format, ...){}