開発ボードの分圧器を使用してデジタル電圧計を作成しようとしています。8051 チップを使用しています。それをボルトに変換するには、ポットからの数値に 5000/196 を掛ける必要があります。コンパイルする次のコードがありますが、ボードに送信すると、「概要:
517 行を受信しました
4694 バイトを受信しました
291 バイトを書き込みました
エラー: 4403 バイトを書き込むことができません」なぜ送信されないのかわかりませんが、以下のコードのどこかで私がばかげていることを確認してください。
#include<8051.h> //header file, containing information on 8051
#include<stdio.h> //standard input/output file
#include<math.h>
#define DAC 0x0600 //DAC address
float conv=5000/196;
unsigned char xdata * idata DPTR; //pointer declaration, made as external to main
unsigned int volt_in;
void delay();
void main()
{
unsigned char a; //variable to store signal value
DPTR=DAC; //pointer as a variable takes address of // DAC
while(1)
{
a=0;
*DPTR=a; //assign a to address in DPTR
while(P3_5!=0){
a++;
*DPTR=a;
}
a=(int) a*conv;
volt_in=a;
printf ("The voltage is %d Mv. \r" , volt_in);
a=~a;
P1=a;
//delay();
}
}
void putchar(char c)
{
while(!TI);
TI=0;
SBUF=c;
}
void delay()
{
unsigned int k;
for (k=0xFFFF;k>0;k--);
}
私は完全に迷っているので、どんな助けも素晴らしいでしょう。よろしくお願いします