#include #include #include int main(void) { // SIPO ShiftRegisterHandle sipoSrHandle = avr_sipo_shift_register_create( data_position_create(&DDRB, &PORTB, &PINB, 0), // SIPO_SRCLR data_position_create(&DDRB, &PORTB, &PINB, 1), // SIPO_SRCLK data_position_create(&DDRB, &PORTB, &PINB, 2), // SIPO_SER data_position_create(&DDRB, &PORTB, &PINB, 3), // SIPO_OE data_position_create(&DDRB, &PORTB, &PINB, 4), // SIPO_RCLK 1 ); avr_sipo_shift_register_init(sipoSrHandle); avr_sipo_shift_register_write_byte(sipoSrHandle, 207); // 0b11001111 avr_sipo_shift_register_push_data_to_output(sipoSrHandle); avr_sipo_shift_register_enable_output(sipoSrHandle); // ------------ // PISO _delay_ms(100); ShiftRegisterHandle pisoSrHandle = avr_piso_shift_register_create( data_position_create(&DDRC, &PORTC, &PINC, 0), // PISO_CE data_position_create(&DDRC, &PORTC, &PINC, 1), // PISO_CP data_position_create(&DDRC, &PORTC, &PINC, 2), // PISO_Q7 data_position_create(&DDRC, &PORTC, &PINC, 3), // PISO_PL 1 ); avr_piso_shift_register_parallel_load(pisoSrHandle); avr_piso_shift_register_read_byte(pisoSrHandle); }