From 19a087895c0eb2a234ef18b2466f59d4a059bfc0 Mon Sep 17 00:00:00 2001 From: Suhayl <838119509@qq.com> Date: Tue, 7 Aug 2018 10:28:56 +0800 Subject: [PATCH] Override function ShiftOut in C code. The shiftout function in wiringPi does not communicate with 595 properly, which causes LightWater02, SevenSegment, StopWatch, and LED Matrix to fail. So the function is to be override. --- Code/C_Code/17.1.1_LightWater02/LightWater02 | Bin 7020 -> 0 bytes .../C_Code/17.1.1_LightWater02/LightWater02.c | 23 ++++++++++++++-- .../SevenSegmentDisplay | Bin 7024 -> 0 bytes .../SevenSegmentDisplay.c | 23 ++++++++++++++-- Code/C_Code/18.2.1_StopWatch/a.out | Bin 8064 -> 0 bytes Code/C_Code/19.1.1_LEDMatrix/LEDMatrix | Bin 7436 -> 0 bytes Code/C_Code/19.1.1_LEDMatrix/LEDMatrix.c | 26 ++++++++++++++---- Code/Python_Code/00.0.0_Hello/Hello.py | 12 ++++++++ 8 files changed, 73 insertions(+), 11 deletions(-) delete mode 100644 Code/C_Code/17.1.1_LightWater02/LightWater02 delete mode 100644 Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay delete mode 100644 Code/C_Code/18.2.1_StopWatch/a.out delete mode 100644 Code/C_Code/19.1.1_LEDMatrix/LEDMatrix create mode 100644 Code/Python_Code/00.0.0_Hello/Hello.py diff --git a/Code/C_Code/17.1.1_LightWater02/LightWater02 b/Code/C_Code/17.1.1_LightWater02/LightWater02 deleted file mode 100644 index 10324b069ecfa227a6be07c40834b6cf9c84230e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7020 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 #include @@ -12,6 +12,23 @@ #define latchPin 2 //ST_CP Pin of 74HC595(Pin12) #define clockPin 3 //CH_CP Pin of 74HC595(Pin11) +void _shiftOut(int dPin,int cPin,int order,int val){ + int i; + for(i = 0; i < 8; i++){ + digitalWrite(cPin,LOW); + if(order == LSBFIRST){ + digitalWrite(dPin,((0x01&(val>>i)) == 0x01) ? HIGH : LOW); + delayMicroseconds(10); + } + else {//if(order == MSBFIRST){ + digitalWrite(dPin,((0x80&(val<>=1; delay(100); diff --git a/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay b/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay deleted file mode 100644 index 2c9fb65702126efa802a64ec91ee9ba959c843c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7024 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 Q=l%97@Vq?atI+oT4Fc~9r2qf` diff --git a/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay.c b/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay.c index b276072..57d78d7 100644 --- a/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay.c +++ b/Code/C_Code/18.1.1_SevenSegmentDisplay/SevenSegmentDisplay.c @@ -2,7 +2,7 @@ * Filename : SevenSegmentDisplay.c * Description : Control SevenSegmentDisplay by 74HC595 * Author : freenove -* modification: 2016/06/24 +* modification: 2018/08/04 **********************************************************************/ #include #include @@ -14,6 +14,23 @@ //encoding for character 0-F of common anode SevenSegmentDisplay. unsigned char num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; +void _shiftOut(int dPin,int cPin,int order,int val){ + int i; + for(i = 0; i < 8; i++){ + digitalWrite(cPin,LOW); + if(order == LSBFIRST){ + digitalWrite(dPin,((0x01&(val>>i)) == 0x01) ? HIGH : LOW); + delayMicroseconds(10); + } + else {//if(order == MSBFIRST){ + digitalWrite(dPin,((0x80&(val<OR{ydo9@0v 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 NQ*dpc_B5dF{TtWnj?w@C diff --git a/Code/C_Code/19.1.1_LEDMatrix/LEDMatrix.c b/Code/C_Code/19.1.1_LEDMatrix/LEDMatrix.c index c1883b3..73d43fc 100644 --- a/Code/C_Code/19.1.1_LEDMatrix/LEDMatrix.c +++ b/Code/C_Code/19.1.1_LEDMatrix/LEDMatrix.c @@ -2,7 +2,7 @@ * Filename : LEDMatrix.c * Description : Control LEDMatrix by 74HC595 * Author : freenove -* modification: 2016/06/24 +* modification: 2018/08/03 **********************************************************************/ #include #include @@ -33,6 +33,22 @@ unsigned char data[]={ // data of "0-F" 0x00, 0x00, 0x7F, 0x48, 0x48, 0x40, 0x00, 0x00, // "F" 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // " " }; +void _shiftOut(int dPin,int cPin,int order,int val){ + int i; + for(i = 0; i < 8; i++){ + digitalWrite(cPin,LOW); + if(order == LSBFIRST){ + digitalWrite(dPin,((0x01&(val>>i)) == 0x01) ? HIGH : LOW); + delayMicroseconds(10); + } + else {//if(order == MSBFIRST){ + digitalWrite(dPin,((0x80&(val<>=1;// display the next column @@ -62,8 +78,8 @@ int main(void) x=0x80; // Set the column information to start from the first column for(i=k;i<8+k;i++){ digitalWrite(latchPin,LOW); - shiftOut(dataPin,clockPin,LSBFIRST,data[i]); - shiftOut(dataPin,clockPin,LSBFIRST,~x); + _shiftOut(dataPin,clockPin,MSBFIRST,data[i]); + _shiftOut(dataPin,clockPin,MSBFIRST,~x); digitalWrite(latchPin,HIGH); x>>=1; delay(1); diff --git a/Code/Python_Code/00.0.0_Hello/Hello.py b/Code/Python_Code/00.0.0_Hello/Hello.py new file mode 100644 index 0000000..47e6895 --- /dev/null +++ b/Code/Python_Code/00.0.0_Hello/Hello.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +######################################################################## +# Filename : Blink.py +# Description : Make an led blinking. +# auther : www.freenove.com +# modification: 2018/08/04 +######################################################################## + +def Hello(): + print('Hello World!') + +Hello()