找回密码
 立即注册
查看: 223|回复: 1

STC 8G2kIO口赋值编译出错

[复制链接]
  • TA的每日心情
    开心
    2023-12-21 18:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    0

    回帖

    39

    积分

    新手上路

    积分
    39
    发表于 2023-9-4 18:50:15 | 显示全部楼层 |阅读模式
    数码管段不在同一组单片机IO口时,增加函数来显示时编译出错。查不出那里错请各位大神帮忙看下错在哪。



    #include    "config.h"
    #include    "GPIO.h"
    #include    "delay.h"


    /*************    本地常量声明    **************/
    u8 code ledNum[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};


    sbit LED_DISP_A=P5^1;                                 
    sbit LED_DISP_B=P3^3;                                 
    sbit LED_DISP_C=P3^6;                                   
    sbit LED_DISP_D=P4^2;                                    
    sbit LED_DISP_E=P4^3;                                   
    sbit LED_DISP_F=P5^0;                                 
    sbit LED_DISP_G=P3^5;                                 
    sbit LED_DISP_P=P4^1;                                   

    sbit  LED_CS1 = P2^4;
    sbit  LED_CS2  = P2^5;
    sbit LED_CS3 = P2^6;

    /******************** 数码IO配置函数 **************************/
    void    GPIO_config(void)
    {
        GPIO_InitTypeDef    GPIO_InitStructure;        //结构定义
        GPIO_InitStructure.Pin  = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;        //指定要初始化的IO,
        GPIO_InitStructure.Mode = GPIO_OUT_PP;        //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
        GPIO_Inilize(GPIO_P2,&GPIO_InitStructure);    //初始化

        GPIO_InitStructure.Pin  = GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6;        //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
        GPIO_InitStructure.Mode = GPIO_OUT_PP;        //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
        GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);    //初始化

        GPIO_InitStructure.Pin  = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;        //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
        GPIO_InitStructure.Mode = GPIO_OUT_PP;        //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
        GPIO_Inilize(GPIO_P4,&GPIO_InitStructure);    //初始化

        GPIO_InitStructure.Pin  = GPIO_Pin_0|GPIO_Pin_1;        //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
        GPIO_InitStructure.Mode = GPIO_OUT_PP;        //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
        GPIO_Inilize(GPIO_P5,&GPIO_InitStructure);    //初始化
    }


    void led_display (void)
    {
        u8 code data=0xf3;
       
        LED_DISP_E=data&0x01;
        data>>=1;
        LED_DISP_D=data&0x01;
        data>>=1;
        LED_DISP_C=data&0x01;
        data>>=1;
        LED_DISP_B=data&0x01;
        data>>=1;
        LED_DISP_A=data&0x01;
        data>>=1;
        LED_DISP_F=data&0x01;
        data>>=1;
        LED_DISP_G=data&0x01;
        data>>=1;
        LED_DISP_P=data&0x01;
    }

    /******************** 主函数 **************************/
    void main(void)
    {
        GPIO_config();
       
        while(1)
        {
            led_display();
            delay_ms(1);
        }
    }

    1.png

    回复 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    329

    回帖

    872

    积分

    荣誉版主

    积分
    872
    发表于 2023-9-4 21:28:38 | 显示全部楼层
    本帖最后由 熊仔 于 2023-9-4 21:31 编辑

    u8 code data=0xf3;  
    code和data都是关键字,怎麽同时使用?

    code一般定义数组用
    data 变量声明在内部data区,低128字节空间。



    修改成:u8 code_data=0xf3;//变量code_data
    或者u8 data dd=0xf3;   //变量dd
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-3 08:07 , Processed in 0.054616 second(s), 35 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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