@ -72,17 +72,19 @@ int main(void){
setup ( ) ;
setup ( ) ;
while ( 1 ) {
while ( 1 ) {
_delay_ms ( 200 ) ;
check_dip_switches ( ) ;
check_dip_switches ( ) ;
uint8_t clock [ 3 ] ;
uint8_t clock [ 3 ] ;
cli ( ) ;
DS3231_read ( clock ) ;
DS3231_read ( clock ) ;
sei ( ) ;
for ( uint8_t i = 0 ; i < 3 ; i + + ) {
for ( uint8_t i = 0 ; i < 3 ; i + + ) {
SR_Buffer [ 5 - ( 2 * i ) ] = number_Font [ clock [ i ] & 0x0F ] ;
SR_Buffer [ 5 - ( 2 * i ) ] = number_Font [ clock [ i ] & 0x0F ] ;
SR_Buffer [ 5 - ( 2 * i ) - 1 ] = number_Font [ ( clock [ i ] & 0xF0 ) > > 4 ] ;
SR_Buffer [ 5 - ( 2 * i ) - 1 ] = number_Font [ ( clock [ i ] & 0xF0 ) > > 4 ] ;
}
}
PORTC = ( PORTC & ( ~ DOT ) ) | ( clock [ 0 ] % 2 ) < < 4 ; // blink dots
print_SR_Buffer ( ) ;
print_SR_Buffer ( ) ;
_delay_ms ( 100 ) ;
}
}
}
}
@ -99,7 +101,6 @@ void check_dip_switches() {
}
}
void setup ( ) {
void setup ( ) {
DDRA = ENABLE_TUBE_SUPPLY ;
DDRA = ENABLE_TUBE_SUPPLY ;
DDRB = STATUS_LED_B
DDRB = STATUS_LED_B
@ -190,6 +191,7 @@ ISR(INT1_vect) {
ISR ( USART0_RX_vect )
ISR ( USART0_RX_vect )
{
{
PORTB ^ = STATUS_LED_C ;
static char async_input_buffer [ RX_INPUT_BUFFER_SIZE ] ;
static char async_input_buffer [ RX_INPUT_BUFFER_SIZE ] ;
static uint8_t async_buffer_pointer = 0 ;
static uint8_t async_buffer_pointer = 0 ;