Exemple #1
0
static int doExtensionSr595 (char *progName, int pinBase, char *params)
{
  int pins, data, clock, latch ;

// Extract pins

  if ((params = extractInt (progName, params, &pins)) == NULL)
    return FALSE ;

  if ((pins < 8) || (pins > 32))
  {
    verbError ("%s: pin count (%d) out of range - 8-32 expected.", progName, pins) ;
    return FALSE ;
  }

  if ((params = extractInt (progName, params, &data)) == NULL)
    return FALSE ;

  if ((params = extractInt (progName, params, &clock)) == NULL)
    return FALSE ;

  if ((params = extractInt (progName, params, &latch)) == NULL)
    return FALSE ;

  sr595Setup (pinBase, pins, data, clock, latch) ;

  return TRUE ;
}
Exemple #2
0
int main(int argc, char *argv[])
{
        int i, j, color;
        wiringPiSetup();
        sr595Setup(100, 32, 12, 14, 10);
 
        for(i = 0; i < 32; i++)
        {
                pinMode(100 + i, OUTPUT);
        }
 
#if 1
        for(i =0; i< 24; i++)
        {
                digitalWrite(100 + i, 1);
        }
 
        for(i =0; i< 8; i++)
        {
                digitalWrite(124 + i, 0);
        }
 
#endif
 
        color = 0b010; //green
        if(argc > 1 )
        {
                color = atoi(argv[1]);
        }
 
        while(1)
        {
                int k;
                for(k=0; k<500; k++)
                {
                        for(i=0; i<8; i++)
                        {
                                for(j=0; j<8; j++)
                                {
                                        if(*(((unsigned char *)p[k/100])+j*8+i) == 1)
                                                //set(i, j, color);
                                                set(i, j, random()%7+1);
                                }
                        }
 
                        if(k%100 == 0)
                                delay(100);
                }
        }
}
int main(void)
{
	int i;
	int bit;

	if(wiringPiSetup() < 0){
		printf("wiringPi setup failed !\n");
		return -1;
	}

	sr595Setup(100, 10, 2, 1, 0);

	while(1){
		for(i = 0; i < sizeof(SegCode); i++){
			for(bit = 0; bit < 8; bit++){
				digitalWrite(100+bit, SegCode[i] & (1<<bit));
				delay(1);
			}	
			delay(500);
		}
	}

	return 0;
}
int main(void)
{
	int i;
	int bit;

	if(wiringPiSetup() == -1){
		printf("wiringPi setup error!\n");
		return -1;
	}

	sr595Setup(100, 10, 0, 2, 1);

	while(1){
		for(i = 0; i < sizeof(seg); i++){
			for(bit = 0; bit < 8; bit++){
				digitalWrite(100+bit, seg[i] & (1<<bit));
				delay(1);
			}	
			delay(500);
		}
	}

	return 0;
}