1

私のプロジェクトはほとんど機能していますが、1つ取得します

警告: 「関数 'init_phase_correct' [-Wimplicit-function-declaration] の暗黙の宣言」

私のメインで呼び出された関数があります

int main(void)
{
    volatile char start_flag=0;
  uart0_Init ( MYUBRRF );
  DDRB |=(1<<PB7);
  sei();  //enable global interrupt
  initAdc();      
  data = 'a';
  ADCSRA |=(1<<ADIE);
  init_phase_correct();

init_phase_correct が先頭に含まれています

#include "PWM.h"

にリンクする

/*
 * IncFile1.h
 *
 * Created: 23-04-2015 11:30:38
 *  Author: Martin Egsdal
 */ 


#ifndef INCFILE1_H_


#define INCFILE1_H_

extern void init_fastPWM();
extern void init_phase_correct();
extern void init_ph_frPWM();
extern void init_phase_correct_alt();


#endif /* INCFILE1_H_ */

Cファイルでは次のとおりです。

void init_phase_correct(){
TCCR0A|=(1<<COM0A1)|(1<<WGM00); //Clear OC0A on Compare Match when up-counting. Set OC0A on Compare Match when down-counting
TCCR0B =(1<<CS01);   //prescalling by 8 
OCR0A =102;  //40 duty cycle    
TCNT0= 0;
DDRB |= (1<<DDB7);// configure OC0A pin for output  
}

メインで init_phase_correct() を右クリックすると、2 つの実装が表示されます。なぜ「Wimplicit-function-declaration」なのですか?

4

1 に答える 1

3

の宣言を含むヘッダー ファイルが、init_phase_correct()自動生成された名前 ( ) を持つインクルード ガードでラップされていることがわかりINCFILE1_H_ました。

また、 がinit_phase_correct()内部で宣言されているPWM.hか、別のファイルで宣言されているかを指定していませんでし PWM.h

これ以上コードがなければ、確かなことは言えませんが、私の千里眼のスキルは、それINCFILE1_H_が別のファイルのインクルード ガードとして使用される可能性があることを示しPWM.hています。init_phase_correct()

于 2015-05-06T13:30:21.330 に答える