/* * ATMEGA328_clockgen.c * * Created: 02.01.2022 02:58:26 * Author : tboes Generate clock on PB0 / D8 */ #include #include void resetstring(void); void sendpulse(void); void sendcmd(uint8_t address, uint8_t cmd); int main(void) { DDRB |= _BV(PB0); resetstring(); while (1) { sendcmd(1,0); sendcmd(2,0); sendcmd(3,0); sendcmd(4,0); sendcmd(5,0); sendcmd(6,0); _delay_ms(5); sendcmd(1,1); // 10 sendcmd(2,2); // 4 sendcmd(3,4); // 1 sendcmd(4,1); // 7 sendcmd(5,2); // 2, 8,9 sendcmd(6,4); // 3,5,6 // _delay_ms(5); // sendcmd(8,2); _delay_ms(20); } } #define basetime_us 8 #define frameidle_us basetime_us*5 // cover worst case where data field is zero void sendcmd(uint8_t address, uint8_t cmd) { for (uint8_t i=0; i