Files

43 lines
1.0 KiB
C++
Raw Permalink Normal View History

2026-06-12 12:40:08 -04:00
#include <Arduino.h>
#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;
}