void main(void) { int count; unsigned int adcValue = 0; unsigned int adcValueOld = 0; char buffer[16]; ConfigureOscillator(); InitApp(); lcd_init(); lcd_enable(); lcd_cursor_off(); lcd_test(); lcd_pos(2, 1); while (1) { ConvertADC(); while (BusyADC()); adcValue = ReadADC(); if (adcValue != adcValueOld) { lcd_clear(); lcd_pos(1, 1); memset(&buffer[0], 0, sizeof(buffer)); sprintf(&buffer[0], "Valor: %.4u %.3u%%", adcValue, (int)(((float)adcValue / 1024) * 100)); lcd_write_buffer(buffer, strlen(buffer)); adcValueOld = adcValue; } __delay_ms(20); } }
void lcd_draw(LCD* lcd) { int offset = 0; for (int row = 0; row < 5; ++row) { if (row % 2 == 0) { for (int i = 0; i < lcd->length; ++i) { char symbol = lcd_test(lcd->numbers[i], row + offset) ? H_SYM : S_SYM; char symbols[lcd->segments]; for (int j = 0; j < lcd->segments; ++j) { symbols[j] = symbol; } symbols[lcd->segments] = '\0'; printf("%c%s%c%c", S_SYM, symbols, S_SYM, S_SYM); } printf("\n"); } else { for (int i = 0; i < lcd->segments; ++i) { for (int j = 0; j < lcd->length; ++j) { for (int column = 0; column < 2; ++column) { char symbol = lcd_test(lcd->numbers[j], row + column + offset) ? V_SYM : S_SYM; int num_spaces = (column == 0 ? lcd->segments : 1); char spaces[num_spaces]; for (int k = 0; k < num_spaces; ++k) { spaces[k] = S_SYM; } spaces[num_spaces] = '\0'; printf("%c%s", symbol, spaces); } } printf("\n"); } ++offset; } } }
static void lcd_exercise(cyg_addrword_t p) { diag_printf("LCD test here!\n"); // lcd_test(1); // lcd_test(2); lcd_test(4); diag_printf("All done!\n"); cyg_test_exit(); }
void main(void) { int count; int size; unsigned int adcValue = 0; unsigned int adcValueOld = 0; char buffer[16]; ConfigureOscillator(); InitApp(); lcd_init(); lcd_enable(); lcd_cursor_off(); lcd_test(); lcd_pos(2, 1); while (1) { ConvertADC(); while (BusyADC()); adcValue = ReadADC(); if (adcValue != adcValueOld) { lcd_clear(); //Linha 1 lcd_pos(1, 1); memset(&buffer[0], 0, sizeof (buffer)); sprintf(&buffer[0], "Step:%.4u %3.1f%%", adcValue, ((float) adcValue / 1023) * 100); size = (strlen(buffer) > sizeof(buffer)) ? sizeof(buffer) : strlen(buffer); lcd_write_buffer(buffer, size); for(count = 0; count < size; count++){ while(BusyUSART()); putcUSART((char)buffer[count]); } //Linha 2 lcd_pos(2, 1); memset(&buffer[0], 0, sizeof (buffer)); sprintf(&buffer[0], "Volts:%1.7fV", (float)adcValue * ((float)5 /1023)); size = (strlen(buffer) > sizeof(buffer)) ? sizeof(buffer) : strlen(buffer); lcd_write_buffer(buffer, size); //Variável de controle adcValueOld = adcValue; for(count = 0; count < size; count++){ while(BusyUSART()); putcUSART((char)buffer[count]); } } for (count = 0; count < 40; count++) { __delay_ms(10); } } }
void main(void) { ConfigureOscillator(); InitApp(); lcd_init(); lcd_enable(); lcd_cursor_off(); lcd_test(); lcd_pos(2,1); while(1) { } }
int main() { char c; init_uart(); lcd_init(); lcd_enable(); ts_init(); ts_calibrate(); printf("can update program with serial port\n\r"); while (1) { printf("[w] write the nand flash\n\r"); printf("[r] read the nand flash\n\r"); printf("[e] erase the nand flash\n\r"); printf("[g] get file, and write to nand flash 0 block\n\r"); printf("[x] get file to ddr(0x52000000), run it\n\r"); printf("[t] test lcd\n\r"); printf("[s] test touch screem\n\r"); do { c = getc(); if (c == '\n' || c == '\r') { printf("\n\r"); } else { putc(c); } } while (c == '\n' || c == '\r'); switch (c) { case 'w': case 'W': { nand_write_test(); break; } case 'r': case 'R': { nand_read_test(); break; } case 'e': case 'E': { nand_erase_test(); break; } case 'g': case 'G': { update_program(); break; } case 'x': case 'X': { run_program(); break; } case 't': case 'T': { lcd_test(); break; } case 's': case 'S': { ts_test(); break; } } } return 0; }