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; }
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; }