Программа не отображает правильный вывод - MPLAB X IDE - PullRequest
0 голосов
/ 15 ноября 2018

Я разработал эту программу, которая должна отображать все нечетные числа в диапазоне от 1 до 99 в верхней строке ЖК-дисплея с задержкой 0,5 секунды между каждой итерацией.

Однако, когда я запускаю приведенный ниже код,мой вывод - только «13», а затем «133», и я так растерялся, почему так.

Мой код:

#define _XTAL_FREQ 3276800
#include <xc.h>
#include "LCDdrive.h"

void main (void) {
    unsigned int oddNumber = 1;
    unsigned int nextNumber = 0;
    unsigned short i;

    LCD_initialise();
    LCD_cursor(0,0);
    LCD_display_value(oddNumber);

    while (1) {
        for (i = 0; i < 100; i++) {
            nextNumber = oddNumber + 2;

            LCD_cursor(1,0);
            LCD_display_value(nextNumber);
            __delay_ms(500);
            LCD_display_value(nextNumber);
            __delay_ms(500);
        }
    }
}

1 Ответ

0 голосов
/ 15 ноября 2018

Программа сделала именно то, что должна:

Попробуйте что-то вроде этого:

#define _XTAL_FREQ 3276800
#include <xc.h>
#include "LCDdrive.h"

void main (void) {
    unsigned int nextNumber = 0;
    unsigned short i;

    LCD_initialise();
    LCD_cursor(0,0);
    LCD_display_value(oddNumber);

    while (1) {

        for (i = 0; i < 50; i++) {
            nextNumber = nextNumber + 2;
            LCD_cursor(1,0);
            LCD_display_value(nextNumber);
            __delay_ms(500);
        }
    }
}
...