zamely 发表于 2013-4-19 10:12:44

_IO未定义?

/*主函数,用于闪烁led灯*/
#include"stm32f10x.h"
#include"led.h"

void Delay(_IO u32 Count);

int main(void)
{
       SystemInit();       
        LED_Config();
while (1)
{
                LED(ON);
                Delay(0xffffff);
                LED(OFF);
                Delay(0xffffff);
}
}

void Delay(_IO u32 Count)
{
        for(Count;Count>0;Count--);
}

/*led.c文件,提供初始化stm32引脚*/
#include"led.h"

void LED_Config(void)
{
        GPIO_InitTypeDef        GPIO_InitStruct;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//打开APB2挂载下的PA口时钟;
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
        GPIO_Init(GPIOC,&GPIO_InitStruct);
}

/*led.h文件*/
#ifndef _LED_H
#define _LED_H

#include"stm32f10x.h"

#define ON 1
#define OFF 0
#define LED(a) if(a)        \
                                GPIO_ResetBits(GPIOC,GPIO_Pin_0);        \
                      else               \
                                GPIO_SetBits(GPIOC,GPIO_Pin_0);

void LED_Config(void);

#endif

编译后,说_IO为未定义符号。我用的是3.5.0的库,里面core_cm3.h有这个新类型定义的呀,还请大神指教!

kebaojun305 发表于 2013-4-19 10:19:29

编译环境呢

zamely 发表于 2013-4-19 10:20:44

kebaojun305 发表于 2013-4-19 10:19 static/image/common/back.gif
编译环境呢

抱歉,编译环境是MDK4.14的,这个会影响?

kebaojun305 发表于 2013-4-19 10:24:45

IAR最新版直接打开 3.5的库就有问题 是因为3.5的库中CMSIS中的文件版本是旧的最新的IAR不支持要自己更新下最新的CMSIS中的文件就可以了。MDK没有用过。

zamely 发表于 2013-4-19 10:28:54

kebaojun305 发表于 2013-4-19 10:24 static/image/common/back.gif
IAR最新版直接打开 3.5的库就有问题 是因为3.5的库中CMSIS中的文件版本是旧的最新的IAR不支持要自己更 ...

谢谢你!这个新旧有关系么?定义都是有的啊,另外问问,这个延时变量一定是volatile么,我认为这个变量不会被其它情况改变的,应该可以不用吧?

kebaojun305 发表于 2013-4-19 10:32:58

本帖最后由 kebaojun305 于 2013-4-19 10:40 编辑

zamely 发表于 2013-4-19 10:28 static/image/common/back.gif
谢谢你!这个新旧有关系么?定义都是有的啊,另外问问,这个延时变量一定是volatile么,我认为这个变量不 ...

有关系是因为IAR不支持旧的定义格式。 volatile你要理解这个关键字的意义   用法就比较好理解了。


我现在可以使用的 CMSIS文件版本号:
也是在本论坛中下载的。
/**************************************************************************//**
* @file   core_cm3.c
* @brief    CMSIS Cortex-M3 Core Peripheral Access Layer Source File
* @versionV2.00
* @date   13. September 2010
*
* @note
* Copyright (C) 2009-2010 ARM Limited. All rights reserved.
*
* @par
* ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontrollers.This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* @par
* THIS SOFTWARE IS PROVIDED "AS IS".NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
*
******************************************************************************/



这是3.5库里自带的版本号:
/**************************************************************************//**
* @file   core_cm3.c
* @brief    CMSIS Cortex-M3 Core Peripheral Access Layer Source File
* @versionV1.30
* @date   30. October 2009
*
* @note
* Copyright (C) 2009 ARM Limited. All rights reserved.
*
* @par
* ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontrollers.This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* @par
* THIS SOFTWARE IS PROVIDED "AS IS".NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
*
******************************************************************************/

五木 发表于 2013-4-20 14:21:32

好像楼主说的那个符号是

void Delay(_IO u32 Count)
{
      for(Count;Count>0;Count--);
}

里面的_IO u32 Count 这个_IO?

这个不是要两个短划线么? __IO!

tongdayusu 发表于 2013-4-20 15:02:58

自己给他定义一个。或者找到定义他的头文件 包含进去

tongdayusu 发表于 2013-4-20 15:03:13

volatile
   
页: [1]
查看完整版本: _IO未定义?