Port manipulation

This

void send_strip(uint32_t data)
{
  int i;
  unsigned long j=0x800000;
  
 
  for (i=0;i<24;i++)
  {
    if (data & j)
    {
      DATA_1;

is invoking the macro #defined at the top:

#define DATA_1 (PORTC |=  0X01)    // DATA 1    // for UNO

which is doing direct port manipulation on PORTC.