求各位相救,我实在是找不出原因,本人在无线通信的基础上加adc检测,却出现了问题
项目中加入了adc.h和adc.c,仅仅改了一个通道
在main.c中也加入了#include "adc.h"
在配置c/c++的时候也包含了adc.h所在的路径
但是就是报错未定义
着实让人头痛不已,找不到错误的原因
在adc.c中对报错未定义的函数比如ADC_Init go to defination 找不到,而stm32f10x_adc.h中又真实存在
在adc.h和adc.c中包含stm32f10x_adc.h也是无效
adc.h和adc.c是复制的例程源码,只更改了一个通道仅此而已
求助
附main源码
[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "spi.h"
#include "24l01.h"
#include "adc.h"
int main(void)
{
u16 adcx;
u8 key,mode;
u16 t=0;
u8 tmp_buf[33];
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(9600);
LED_Init();
LCD_Init();
KEY_Init();
NRF24L01_Init();
Adc_Init();
POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"Mini STM32");
LCD_ShowString(60,70,200,16,16,"NRF24L01 TEST");
LCD_ShowString(60,90,200,16,16,"ADC:");
LCD_ShowString(60,110,200,16,16,"2014/3/12");
while(NRF24L01_Check())
{
LCD_ShowString(60,130,200,16,16,"NRF24L01 Error");
delay_ms(200);
LCD_Fill(60,130,239,130+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,130,200,16,16,"NRF24L01 OK");
mode=1;
LCD_Fill(10,150,240,166,WHITE);
POINT_COLOR=BLUE;
LCD_ShowString(60,150,200,16,16,"NRF24L01 TX_Mode");
NRF24L01_TX_Mode();
mode=' ';//′ó¿Õ¸ñ¼ü¿aê¼
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_2,10);
//LCD_ShowString(60,90,200,16,16,"ADC:");
LCD_ShowNum(60,290,adcx,4,16);
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
LCD_ShowString(60,170,239,32,16,"Sended DATA:");
LCD_ShowString(0,190,239,32,16,tmp_buf);
key=mode;
for(t=0;t<32;t++)
{
key++;
if(key>('a'))key=' ';
tmp_buf[t]=key;
}
mode++;
if(mode>'~')mode=' ';
tmp_buf[32]=0;
}else
{
LCD_ShowString(60,170,239,32,16,"Send Failed ");
LCD_Fill(0,188,240,218,WHITE);
};
LED0=!LED0;
delay_ms(1500);
};
}
[/mw_shl_code]
|