我开发了此程序,该程序应该在LCD的顶行上显示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);
}
}
}
最佳答案
该程序确实做了应做的事情:
尝试这样的事情:
#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);
}
}
}