これは、AVR の私の最初のプログラムです。ビルド中に、コードにエラーが表示されます: 'Encode' の暗黙の宣言の型が競合しています
私は次のコードを書きました:
#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 などに変更しようとしましたが、それでも機能せず、同じエラーが表示されます。私を助けてください。