int main(int argc, char *argv[])
{
	if (1 == argc) {
		printf("Enter text as an argument.\n");
		return 1;
	}

	if (!bcm2835_init()) {
		printf("Unable to init bcm2835.\n");
		return 2;
	}

	bcm2835_spi_begin();
	bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);      // The default
	bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   // The default
	bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_256); // The default
	bcm2835_gpio_fsel(Max7219_pinCS, BCM2835_GPIO_FSEL_OUTP); 
	bcm2835_gpio_write(disp1[0][0],HIGH);
	Delay_xms(50);
	Init_MAX7219();

	size_t index = 0;
	while (index < strlen(argv[1])) {
		// Retrive first letter
		char letter1 = toupper(argv[1][index]);
		index++;
		// Retrieve second letter
		// If it does not exist use space
		char letter2 = (index < strlen(argv[1])) ? toupper(argv[1][index]) : (char) 0;
		led_print(find_char(letter1), find_char(letter2));
		Delay_xms(1000);
		index++;
	}
	// Clear screen
	led_print(36, 36);
	bcm2835_spi_end();
	bcm2835_close();
	return 0;
}
Ejemplo n.º 2
0
int main(int argc, char **argv)  
{  
    int fd; 
    int ret; 

    fd = open("/dev/MAX7219", O_WRONLY);  
    if (fd < 0) 
    {  
        fprintf(stderr, "Fail to open /dev/MAX7219!\n");
        exit(1);
    } 
    char buff[1];
    int i=0;
    for(i=0;i<26;i++)
    {
        buff[0] = 'a' + i;
        if((ret = write(fd, buff, 1))<0)
        {
            fprintf(stderr, "Fail to write /dev/MAX7219! %d\n", ret);
            break;
        }
        Delay_xms(1000);
    }
    for(i=0;i<10;i++)
    {
        buff[0] = '0' + i;
        if((ret = write(fd, buff, 1))<0)
        {
            fprintf(stderr, "Fail to write /dev/MAX7219! %d\n", ret);
            break;
        }
        Delay_xms(1000);
    }
    fprintf(stdout, "Write /dev/MAX7219 successfully! %d\n", ret);
    close(fd);  
    return 0;  
}