不知道是不是板子哪里坏了,还是什么原因
(1)烧录官方那个最大的程序没有问题;
(2)我自己的程序烧进去只有偶尔能用(显示正常),意思是同样的程序烧进去可能能用也可能不能用;
(3)偶尔能用的时候,是指用ezUSB供电程序一般都不能用,用USB1供电时,一般按三次初始化按键都会有两次正常工作。
可能存在问题的程序部分如下:
主要功能是一个计算并显示浮点数,不要求速度。
/*高频显示频率函数*/
void Display1()
{
char CharCode[10]={"0123456789"};
char LEDBuffer1[16]; //显示字符
unsigned long int temp1;//计算中间缓冲变量
unsigned int IntegerBuffer1=0;//整数部分
unsigned int DecimalBuffer1=0;//小数部分
temp1=HInputNum*40000;
DelayMs(2);//延时约2ms
IntegerBuffer1=(temp1/HReferenceNum);
DelayMs(5);
DecimalBuffer1=((temp1%HReferenceNum)*1000)/HReferenceNum;
DelayMs(2);
LEDBuffer1[0]=CharCode[IntegerBuffer1/10000];
IntegerBuffer1=IntegerBuffer1%10000;
DelayMs(2);
LEDBuffer1[1]=CharCode[IntegerBuffer1/1000];
IntegerBuffer1=IntegerBuffer1%1000;
DelayMs(2);
LEDBuffer1[2]=CharCode[IntegerBuffer1/100];
IntegerBuffer1=IntegerBuffer1%100;
DelayMs(2);
LEDBuffer1[3]=CharCode[IntegerBuffer1/10];
IntegerBuffer1=IntegerBuffer1%10;
DelayMs(2);
LEDBuffer1[4]=CharCode[IntegerBuffer1];
DelayMs(2);
LEDBuffer1[5]='.';
DelayMs(2);
LEDBuffer1[6]=CharCode[DecimalBuffer1/1000];
DecimalBuffer1=DecimalBuffer1%1000;
DelayMs(2);
LEDBuffer1[7]=CharCode[DecimalBuffer1/100];
DecimalBuffer1=DecimalBuffer1%100;
DelayMs(2);
LEDBuffer1[8]=CharCode[DecimalBuffer1/10];
DecimalBuffer1=DecimalBuffer1%10;
DelayMs(2);
LEDBuffer1[9]=CharCode[DecimalBuffer1];
DelayMs(2);
LEDBuffer1[10]='K';
LEDBuffer1[11]='H';
LEDBuffer1[12]='Z';
LEDBuffer1[13]=' ';
LEDBuffer1[14]=' ';
LEDBuffer1[15]=' ';
Dogs102x6_clearScreen();//清屏
//DelayMs(1);
Dogs102x6_stringDraw(3, 0, &LEDBuffer1[0], 0);//3行,0列;&为取数组首地址,0表示白底黑字
//Dogs102x6_clearRow(4);
DelayMs(50);
}