ystk osw / Mbed 2 deprecated Shift_rejistor

Dependencies:   mbed

Committer:
osw
Date:
Tue Apr 26 22:45:05 2022 +0000
Revision:
0:5a2173aca83d
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
osw 0:5a2173aca83d 1 #include"mbed.h"
osw 0:5a2173aca83d 2
osw 0:5a2173aca83d 3 DigitalOut x(p21);//ser
osw 0:5a2173aca83d 4 DigitalOut a(p22);//rclk
osw 0:5a2173aca83d 5 DigitalOut b(p23);//srclk
osw 0:5a2173aca83d 6 DigitalOut c(p24);//srclr
osw 0:5a2173aca83d 7 Serial pc(USBTX,USBRX);
osw 0:5a2173aca83d 8
osw 0:5a2173aca83d 9 void srclk(){
osw 0:5a2173aca83d 10 b=1; wait_us(1); b=0;
osw 0:5a2173aca83d 11 }
osw 0:5a2173aca83d 12
osw 0:5a2173aca83d 13 void output(char outputdata,long time){
osw 0:5a2173aca83d 14 char t0,t1,t2,t3,t4,t5,t6,t7;
osw 0:5a2173aca83d 15
osw 0:5a2173aca83d 16 t0=outputdata>>7;//上位ビット
osw 0:5a2173aca83d 17 t1=outputdata<<1; t1/=128;
osw 0:5a2173aca83d 18 t2=outputdata<<2; t2/=128;
osw 0:5a2173aca83d 19 t3=outputdata<<3; t3/=128;
osw 0:5a2173aca83d 20 t4=outputdata<<4; t4/=128;
osw 0:5a2173aca83d 21 t5=outputdata<<5; t5/=128;
osw 0:5a2173aca83d 22 t6=outputdata<<6; t6/=128;
osw 0:5a2173aca83d 23 t7=outputdata<<7; t7/=128;
osw 0:5a2173aca83d 24
osw 0:5a2173aca83d 25 for(long i=0; i<time/20; i++){
osw 0:5a2173aca83d 26 srclk(); x=1; c=1;
osw 0:5a2173aca83d 27 srclk(); x=0; c=1;
osw 0:5a2173aca83d 28
osw 0:5a2173aca83d 29 a=(int)t0; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 30 a=(int)t1; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 31 a=(int)t2; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 32 a=(int)t3; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 33 a=(int)t4; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 34 a=(int)t5; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 35 a=(int)t6; wait_us(1); a=0; srclk();
osw 0:5a2173aca83d 36 a=(int)t7; wait_us(1); a=0;
osw 0:5a2173aca83d 37
osw 0:5a2173aca83d 38 c=0; wait_us(1); c=1;
osw 0:5a2173aca83d 39 srclk();
osw 0:5a2173aca83d 40 x=1; c=1; srclk();
osw 0:5a2173aca83d 41 x=0; c=1; //20usかかる
osw 0:5a2173aca83d 42 }
osw 0:5a2173aca83d 43 pc.printf("%d,%d,%d,%d,%d,%d,%d,%d\r\n",(int)t0,(int)t1,(int)t2,(int)t3,(int)t4,(int)t5,(int)t6,(int)t7);
osw 0:5a2173aca83d 44 }
osw 0:5a2173aca83d 45
osw 0:5a2173aca83d 46 int main(){
osw 0:5a2173aca83d 47 x=0; a=0; b=0; c=0;
osw 0:5a2173aca83d 48 while(1){
osw 0:5a2173aca83d 49 output(0x80,612.5*2);
osw 0:5a2173aca83d 50 output(0x40,612.5*2);
osw 0:5a2173aca83d 51 output(0x20,612.5*2);
osw 0:5a2173aca83d 52 output(0x10,612.5*2);
osw 0:5a2173aca83d 53 output(0x08,612.5*2);
osw 0:5a2173aca83d 54 output(0x04,612.5*2);
osw 0:5a2173aca83d 55 output(0x02,612.5*2);
osw 0:5a2173aca83d 56 output(0x01,612.5*2);
osw 0:5a2173aca83d 57 }
osw 0:5a2173aca83d 58 }