Hallo, ich benutzte SN74HC595 mit 8 LEDS Mein MCU bekommt eine Zahl in dezimale Darstellung, und soll diese in binäre Kodierung auf den LED anzeigen. Hier ist mein code: Bei mir leuchten alle 8 LED's Kann mir bitte jemand helfen. (LED und 8 bit register funktionieren)
1 | GPIO_PinOutSet(4,10);//N_OE |
2 | ledctrl(val); |
3 | GPIO_PinOutClear(4,10);//OE |
4 | void ledctrl(int test){ |
5 | GPIO_PinModeSet(0,0,gpioModePushPull,0);//SER |
6 | GPIO_PinModeSet(4,10,gpioModePushPull,1);//N_OE |
7 | GPIO_PinModeSet(5,5,gpioModePushPull,0);//RCLK |
8 | GPIO_PinModeSet(5,3,gpioModePushPull,0);//SRCLK |
9 | GPIO_PinModeSet(5,4,gpioModePushPull,1);//N_SRCLR |
10 | |
11 | for (int i=0;i<8;i++){// send 8 bit |
12 | GPIO_PinOutClear(5,5);//reset latch |
13 | GPIO_PinOutClear(5,3); //SRCLK_low |
14 | mask=1<<i; |
15 | if((test&mask)!=0){ |
16 | GPIO_PinOutSet(0,0);// SER HIGH |
17 | }else{ |
18 | GPIO_PinOutSet(0,0);// SER LOW |
19 | }
|
20 | GPIO_PinOutSet(5,3);//Clock rising edge |
21 | }
|
22 | GPIO_PinOutSet(5,5);//Latch data |
23 | |
24 | |
25 | |
26 | |
27 | }
|