Esempio n. 1
0
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);
    }
}
Esempio n. 2
0
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;
    }
  }
}
Esempio n. 3
0
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();
}
Esempio n. 4
0
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);
        }
    }
}
Esempio n. 5
0
void main(void)
{
    ConfigureOscillator();
    InitApp();

    lcd_init();
    lcd_enable();
    lcd_cursor_off();
    lcd_test();
    lcd_pos(2,1);
    while(1)
    {
        
    }
}
Esempio n. 6
0
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;
}