新手求助-STM8单个IO口操作,怎么报错 未定义啊!急急!

2019-07-19 21:24发布

我刚开始自学STM8S,求大神帮助!
      while(1)
           {    PA_ODR^=0X01;
               delay_ms(500);
              PA_ODR^=0X02;
              delay_ms(500);
             PA_ODR^=0X04;
             delay_ms(500);
         }
为什么出现以下错误!求解!!

Error[Pe020]: identifier "PA_ODR" is undefined E:2015-07-17彭愿球IARstm8s105 - 副本stm8s105k4t6代码工程Usermain.c 32
Error[Pe020]: identifier "PA_DDR" is undefined E:2015-07-17彭愿球IARstm8s105 - 副本stm8s105k4t6代码工程Usermain.c 58
Error[Pe020]: identifier "PA_CR1" is undefined E:2015-07-17彭愿球IARstm8s105 - 副本stm8s105k4t6代码工程Usermain.c 59
Error[Pe020]: identifier "PA_CR2" is undefined E:2015-07-17彭愿球IARstm8s105 - 副本stm8s105k4t6代码工程Usermain.c 60
Error while running C/C++ Compiler

Done. 4 error(s), 0 warning(s)


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
PYQ2015
1楼-- · 2019-07-19 23:44
谢谢大家的帮助,我已找到了解决的方法,在这里和大家分享下:
如果要用 PA_ODR,PA_DDR格式,不能用STM8S.H头文件,要用IAR中的iostm8s1xx.h头文件。
openedvadmin
2楼-- · 2019-07-20 04:13
 精彩回答 2  元偷偷看……
PYQ2015
3楼-- · 2019-07-20 07:19
好的,谢谢原子哥,我是在一个视频教程上看到这样写的!我再找找!研究研究!
qhwan_love
4楼-- · 2019-07-20 09:33
按这种方法写,记得包含头文件

//端口初始化
void GPIO_Init(void)
{
        //初始化端口A
        PA_DDR |= 0xf7;        
        PA_ODR |= 0x00;
        PA_CR1 |= 0xff;
        PA_CR2 |= 0x00;

        //初始化端口B
        PB_DDR |= 0xdf;
        PB_ODR |= 0x00;
        PB_CR1 |= 0xff;
        PB_CR2 |= 0x00;
   
        //初始化端口C
        PC_DDR |= 0xef;         
        PC_ODR |= 0x00;
        PC_CR1 |= 0xef;
        PC_CR2 |= 0x00;

        //初始化端口D
        PD_DDR |= 0xbf;
        PD_ODR |= 0x00;
        PD_CR1 |= 0xb7;
        PD_CR2 |= 0x00;
}
机械师1990
5楼-- · 2019-07-20 12:45
 精彩回答 2  元偷偷看……
jgh211
6楼-- · 2019-07-20 15:18

一般都是GPIOx->R(寄存器),我也是新手!你那样写的话好像要定义一个枚举,不知道对不对,路过帮顶

一周热门 更多>