#include #include #include #include int main(void) { // SIPO const SipoShiftRegister sipoSr = avr_sipo_shift_register_create( data_position_create(&PINB, 0), // SIPO_SRCLR data_position_create(&PINB, 1), // SIPO_SRCLK data_position_create(&PINB, 2), // SIPO_SER data_position_create(&PINB, 3), // SIPO_OE data_position_create(&PINB, 4), // SIPO_RCLK 1 ); avr_sipo_shift_register_init(sipoSr); avr_sipo_shift_register_write_byte(sipoSr, 207); // 0b11001111 avr_sipo_shift_register_push_data_to_output(sipoSr); avr_sipo_shift_register_enable_output(sipoSr); // ------------ // PISO _delay_ms(100); const PisoShiftRegister pisoSr = avr_piso_shift_register_create( data_position_create(&PINC, 0), // PISO_CE data_position_create(&PINC, 1), // PISO_CP data_position_create(&PINC, 2), // PISO_Q7 data_position_create(&PINC, 3), // PISO_PL 1 ); avr_piso_shift_register_init(pisoSr); avr_piso_shift_register_parallel_load(pisoSr); avr_piso_shift_register_read_byte(pisoSr); return 0; }