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

STC 8G2kIO口赋值编译出错

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-21 18:38:05

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

主题

340

回帖

929

积分

荣誉版主

积分
929
发表于 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, 2025-5-3 22:22 , Processed in 0.117076 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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