所以我寫了這段代碼,我想問一下是否有可能在其他事情之前先寫main?main()在第一個地方C
#include <stdio.h> // Standard Ein-/Ausgabefunktionen
#include <at89c51cc03.h> // CC03er-Grundregister
#define CS_LCD 0xffb8
xdata unsigned char eak_io @0xff80;
xdata unsigned char DIS_IR_W @CS_LCD+0x0;
xdata unsigned char DIS_DR_W @CS_LCD+0x1;
xdata unsigned char DIS_IR_R @CS_LCD+0x2;
xdata unsigned char DIS_DR_D @CS_LCD+0x3;
void init_schnittstelle(void)
{
SCON=0x52; // Initialisierung
TMOD |=0x20; // Timermodus 8-bit auto-reload
TH1=0xfa; // 4800 Baud
TR1=1;
}
void ms_warten(unsigned int multiplikator)
{
unsigned int i,j;
for(i=0;i<multiplikator;i++)
{
for(j=0;j<123;j++);
}
}
void dis_ready(void)
{
while ((DIS_IR_R & 0x80)!=0);
}
void init_lcd(void)
{
unsigned char i;
for (i=0; i<=2; i++)
{
DIS_IR_W=0x30;
ms_warten(10);
}
// Function Set: DL=1, N=1, F=0
dis_ready();
DIS_IR_W=0x38;
// Display ON/OFF: D=1, C=1, B=0
dis_ready();
DIS_IR_W=0x0c;
// Entry Mode Set: I/D=1, S=0
dis_ready();
DIS_IR_W=0x06;
}
void dis_clear(void)
{
dis_ready();
DIS_IR_W=0x01;
}
void dis_csr_set(unsigned char z, unsigned char s)
{
unsigned char csr_pos;
switch (z)
{
case 0 : csr_pos=s;
break;
case 1 : csr_pos=s+0x40;
break;
case 2 : csr_pos=s+0x14;
break;
case 3 : csr_pos=s+0x54;
break; }
dis_ready();
DIS_IR_W=(csr_pos | 0x80);
}
void dis_text(unsigned char csr, unsigned char z, unsigned char s, char *a)
{
unsigned char i;
if (csr==1) dis_csr_set(z,s);
i=0;
while(a[i]!=0)
{
dis_ready();
DIS_DR_W=a[i];
i++;
}
}
void main(void)
{
char aktuellerWert;
init_schnittstelle();
init_lcd();
while(1)
{
RI = 0;
while(!RI);
if(SBUF != aktuellerWert)
{
aktuellerWert = SBUF;
switch(aktuellerWert)
{
case 'O': dis_clear();
dis_text(1, 1, 2, "blabla");
dis_text(1, 2, 1, "blabla");
dis_text(1, 3, 3, "blabla");
break;
case 'G': dis_clear();
dis_text(1, 1, 2, "blabla");
dis_text(1, 2, 1, "blabla");
break;
case 'R': dis_clear();
dis_text(1, 1, 2, "blabla");
dis_text(1, 2, 1, "blabla");
break;
}
}
}
}
所以我想#定義之前寫的主要方法,鄰,它將在第一位置或多或少。
謝謝!
短的理解什麼是*函數原型*是(提示的網頁搜索),我什麼也看不到,從這樣阻止你。 (不相關的,'void main'不是標準的,停止那個)。 – WhozCraig 2015-01-04 12:29:09
你爲什麼不嘗試一下?不,這是行不通的,因爲僅僅包括將文件複製到你的項目,如果你使用一個函數出的這些功能是在不知道編譯的時候,因爲它是越往下包含 – Rizier123 2015-01-04 12:29:46
試試吧,看它是否編譯。如果沒有,請閱讀錯誤消息。 – 2015-01-04 12:29:46