rendered paste body#include <avr/io.h>#include <avr/interrupt.h>char sendbuff[9];char recvbuff[9];char status = 1;void pusharray ( char a[9], char val, int length) { for (int i = length; i >= 1; i--) { if (a[i] == 0 && a[i-1] != 0) { a[i] = val; break; } } }char poparray ( char a[9] , int length) { char retval; for (int i = length; i >= 1; i--) { if (a[i] == 0 && a[i-1] != 0) { retval = a[i-1]; a[i-1] = 0; return retval; } } status = 0; return 0; } /*ISR(SPI_STC_vect){ pusharray8( recvbuff, (char) SPDR); }*/int main (void){sendbuff[0] = 0x04;recvbuff[0] = 0x04;pusharray( sendbuff, 0xb7, 8);pusharray( sendbuff, 0xf0, 8);pusharray( sendbuff, 0xaa, 8);pusharray( sendbuff, 0xff, 8);DDRD = 0xff;PORTD = 0xff;DDRC = 0;PORTC = 0x0c;char val;mainloop: if (bit_is_clear(PINC, 0x04)) { val = poparray(sendbuff,8); if (status) { PORTD = 0xff - val; } } status = 1;goto mainloop;}