int main() { delay(100); init(); while(1) { Init_MAX7219(); delay(50); font_charge(*font);//change character write_word(); delay(50); write_word(); delay(50); } }
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; }
void inicializar_sistema() { static uint8_t valor = 0; conteo_funcionalidad++; if(flag_inicializacion == 0) { matrix_aux[1] = 1; flag_inicializacion = 1; } if (conteo_funcionalidad == 3) { conteo_funcionalidad = 0; //usamos el boton shift de forma temporal como contador para que el usuario seleccione su opcion if (boton_seleccionado == SHIFT) { if (state == MODO) { if (matrix_aux[1] > 2) matrix_aux[1] = 0; switch(++matrix_aux[1]) { case 1: { char palabra[] = "DELETREO "; int i; for(i=0;i<16;i++) mensaje_buffer[i] = palabra[i]; break; } case 2: { char palabra[] = "CIRCULAR "; int i; for(i=0;i<16;i++) mensaje_buffer[i] = palabra[i]; break; } case 3: { char palabra[] = "PING - PONG "; int i; for(i=0;i<16;i++) mensaje_buffer[i] = palabra[i]; break; } } valor = matrix_aux[1]; update_LCD(mensaje_buffer,1,16); } else { if ((valor > 4) && (matrix_aux[1] > 4)) matrix_aux[1] = 1; valor = matrix_aux[1]; mensaje_buffer[0] = get_charmap(1,++matrix_aux[1]); update_LCD(mensaje_buffer,1,1); } } if (boton_seleccionado == ENTER) { switch (state){ case VELOCIDAD: { speed = valor; matrix_aux[1] = 1; flag_cartel = 0; update_LCD(" ",1,1); break; } case INTENSIDAD: { intensity = valor; matrix_aux[1] = 0; flag_cartel = 0; update_LCD(" ",1,1); break; } case MODO: { mode = valor; matrix_aux[1] = 0; int i; for(i = 0; i<16; i++) mensaje_buffer[i] = ' '; flag_cartel = 0; update_LCD(" ",1,1); // Init para integrado MAX7219 Init_MAX7219(); break; } } state++; update_LCD(" ",1,16); } boton_seleccionado = 'e'; } }