OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2630|回复: 4

求助啊,这个错误怎么改,新手上路!!!

[复制链接]

15

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
金钱
274
注册时间
2016-7-15
在线时间
88 小时
发表于 2016-7-19 09:37:52 | 显示全部楼层 |阅读模式
1金钱
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"         
#include "adc.h"
extern u8 Res;
/************************************************
ALIENTEK Õ½½¢STM32F103¿a·¢°åêμÑé17
ADC êμÑé
¼¼êõÖ§3Ö£owww.openedv.com
ìÔ±|μêÆì£ohttp://eboard.taobao.com
1Ø×¢Î¢DÅ1«Öúƽì¨Î¢DÅoÅ£o"ÕyμãÔ-×ó"£¬Ãa·Ñ»ñè¡STM32×êáÏ¡£
1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾  
×÷ÕߣoÕyμãÔ-×ó @ALIENTEK
************************************************/

int main(void)
{
        unsigned int i_tmp = 0;
  double ADC_Infact_V = 0;         
  u16 adcx;
        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÖD¶ÏóÅÏè¼¶·Ö×éÎa×é2£o2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
        uart_init(115200);                 //′®¿ú3õê¼»ˉÎa115200
        LED_Init();                             //LED¶Ë¿ú3õê¼»ˉ
        LCD_Init();                                
        Adc_Init();                                  //ADC3õê¼»ˉ       
        while(1)
         {
                  if(Res=='a')
                        {
                  Res=0;
                        adcx=Get_Adc_Average(ADC_Channel_1,10);
                  ADC_Infact_V = ((double)adcx)*3.3/4095*1000;
                        i_tmp = (unsigned int)ADC_Infact_V;
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , 0x30+i_tmp/1000%10);
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , '.');
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , 0x30+i_tmp/100%10);
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , 0x30+i_tmp/10%10);
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , 0x30+i_tmp%10);
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , 'V');
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , '\r');
                        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET);
                        USART_SendData(USART1 , '\n');
                        i_tmp = adcx;
                        }
        }
}

实现的功能为串口调试助手输入字符a,芯片自动采集电压显示到串口助手上。错误是..\OBJ\ADC.axf: Error: L6218E: Undefined symbol Res (referred from main.o).Not enough information to list image symbols.

最佳答案

查看完整内容[请看2#楼]

你的Res原本定义在哪呢,确认是其他C文件的全局变量么
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2016-7-9
在线时间
20 小时
发表于 2016-7-19 09:37:53 | 显示全部楼层
你的Res原本定义在哪呢,确认是其他C文件的全局变量么
回复

使用道具 举报

5

主题

121

帖子

0

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2016-1-26
在线时间
150 小时
发表于 2016-7-19 09:39:29 | 显示全部楼层
Undefined symbol Res (referred from main.o).  没有定义Res  extern的作用自己熟悉一下
回复

使用道具 举报

15

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
金钱
274
注册时间
2016-7-15
在线时间
88 小时
 楼主| 发表于 2016-7-19 09:43:12 | 显示全部楼层
yz2816157676 发表于 2016-7-19 09:41
你的Res原本定义在哪呢,确认是其他C文件的全局变量么

不是,是战舰开发程序中USART.C中串口中断程序里面的。
回复

使用道具 举报

15

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
金钱
274
注册时间
2016-7-15
在线时间
88 小时
 楼主| 发表于 2016-7-19 09:47:34 | 显示全部楼层
无休 发表于 2016-7-19 09:39
Undefined symbol Res (referred from main.o).  没有定义Res  extern的作用自己熟悉一下

懂了,非常感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 10:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表