--- TM1636.cpp.orig Tue Jun 10 08:42:48 2014 +++ TM1636.cpp Tue Jun 10 08:42:48 2014 @@ -20,6 +20,7 @@ /*******************************************************************************/ #include "TM1636.h" #include +#define Trigpin 0 static int8_t TubeTab[] = {0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, @@ -31,6 +32,7 @@ TM1636::TM1636(uint8_t Clk, uint8_t Data) Datapin = Data; pinMode(Clkpin,OUTPUT); pinMode(Datapin,OUTPUT); + pinMode(Trigpin,OUTPUT); } /*Set the default brightness is BRIGHT_TYPICAL and clear the display*/ void TM1636::init(void) @@ -54,6 +56,7 @@ void TM1636::writeByte(int8_t wr_data) digitalWrite(Clkpin,LOW); //wait for the ACK digitalWrite(Datapin,HIGH); digitalWrite(Clkpin,HIGH); + digitalWrite(Trigpin,HIGH); pinMode(Datapin,INPUT); while(digitalRead(Datapin)) { @@ -67,6 +70,7 @@ void TM1636::writeByte(int8_t wr_data) pinMode(Datapin,INPUT); } pinMode(Datapin,OUTPUT); + digitalWrite(Trigpin,LOW); } //send start signal to TM1636 @@ -76,6 +80,7 @@ void TM1636::start(void) digitalWrite(Datapin,HIGH); digitalWrite(Datapin,LOW); digitalWrite(Clkpin,LOW); + digitalWrite(Trigpin,LOW); } //End of transmission void TM1636::stop(void) @@ -84,6 +89,7 @@ void TM1636::stop(void) digitalWrite(Datapin,LOW); digitalWrite(Clkpin,HIGH); digitalWrite(Datapin,HIGH); + digitalWrite(Trigpin,LOW); } //display function.Write to full-screen. void TM1636::display(int8_t DispData[])