這是我第一個AVR程序。在建設中,代碼示值誤差: 衝突的類型'編碼「編碼」隱式聲明函數和衝突類型 - AVR
我寫了下面的代碼 隱含聲明:
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#define SegDataPort PORTC
#define SegDataPin PINC
#define SegDataDDR DDRC
#define SegCntrlPort PORTD
#define SegCntrlPin PIND
#define SegCntrlDDR DDRD
int main(void)
{
SegDataDDR = 0xFF;
SegCntrlDDR = 0xF3;
SegCntrlPort = 0xF3;
SegDataPort = 0x00;
unsigned char adc_value;
float volt = adc_value/1023;
int temp = floor(volt*10 + 0.5);
SegDataPort = Encode(temp1%10);
//^^^^ implicit declaration of 'Encode'
SegCntrlPort = ~0x01;
SegDataPort = Encode((temp1/10)%10);
SegCntrlPort = ~0x02;
SegDataPort = Encode(temp1/100);
SegCntrlPort = ~0x04;
}
unsigned char Encode(int digit)
{
unsigned char val;
switch(digit)
{
case 0 : Val = 0b00111111;
case 1 : val = 0b00000110;
/// so on till case 9
}
return val;
}
我使用ATmega16單片機作爲微控制器。我還添加了更多的庫,如地板功能等的數學。我曾嘗試將int更改爲unsigned int,unsigned char等,但它仍然無法正常工作並顯示相同的錯誤。 請幫幫我。
@ mathematician1975 AFAIK,'PORTx'是可用作正常c變量的AVR特定寄存器。如果我錯了,請糾正我。 –