#include #include "7Segment.h" #include "IC74HC595.h" #include "error.h" int init7Segment() { pinMode(PIN_7SEGMENT_DIGIT1, OUTPUT); pinMode(PIN_7SEGMENT_DIGIT2, OUTPUT); pinMode(PIN_7SEGMENT_DIGIT3, OUTPUT); pinMode(PIN_7SEGMENT_DIGIT4, OUTPUT); return ERRNO_SUCCESS; } void test7Segment() { uint8_t segments[] = { PIN_7SEGMENT_DIGIT1, PIN_7SEGMENT_DIGIT2, PIN_7SEGMENT_DIGIT3, PIN_7SEGMENT_DIGIT4 }; for ( int j = 0; j < 4 ; j++ ) { select7SegDisplay(segments[j]); for ( int i = 0 ; i < 8; i++ ) { if ( i > 0 ) { writeIC74HC595Char(&scoreboard, ((uint8_t) ~(SEG_DP | (1 << i))), MSBFIRST); } else { writeIC74HC595Char(&scoreboard, ((uint8_t) ~(SEG_DP | 1)), MSBFIRST); } delay(1000); } } } int select7SegDisplay(uint8_t pin) { digitalWrite(PIN_7SEGMENT_DIGIT1, LOW); digitalWrite(PIN_7SEGMENT_DIGIT2, LOW); digitalWrite(PIN_7SEGMENT_DIGIT3, LOW); digitalWrite(PIN_7SEGMENT_DIGIT4, LOW); digitalWrite(pin, HIGH); return ERRNO_SUCCESS; }