10528|11

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ST单片机C语言有什么指令定义端口的某一位做变量? [复制链接]

                                 C语言里可以用sbit指令将端口的某一位定义成变量,不过在STVD里该指令好象不能被识别,编译也通不过。请问ST单片机该用什么指令来将端口的某一位定义成变量呢?请多指教,谢谢!
此帖出自stm32/stm8论坛

最新回复

                                 简单: _Bool TEST   @ PD_ODR:4;  详情 回复 发表于 2010-10-19 19:48
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 _Boot  来定义某一位
此帖出自stm32/stm8论坛
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 能不能麻烦你给个示例,具体格式是什么样的?
此帖出自stm32/stm8论坛
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

4
 
typedef struct
{
        _Bool Bit0;
        _Bool Bit1;
        _Bool Bit2;
        _Bool Bit3;
        _Bool Bit4;
        _Bool Bit5;
        _Bool Bit6;
        _Bool Bit7;
}SBitChar;
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
typedef struct
{
        _Bool Bit0;
        _Bool Bit1;
        _Bool Bit2;
        _Bool Bit3;
        _Bool Bit4;
        _Bool Bit5;
        _Bool Bit6;
        _Bool Bit7;
}SBitChar;

typedef struct
{
        SBitChar ODR;
        SBitChar IDR;
        SBitChar DDR;
        SBitChar CR1;
        SBitChar CR2;
}GPIO;

volatile   GPIO   PA @ 0x5000;
volatile   GPIO   PB @ 0x5005;
volatile   GPIO   PC @ 0x500a;
volatile   GPIO   PD @ 0x500f;
volatile   GPIO   PE @ 0x5014;
volatile   GPIO   PF @ 0x5019;
volatile   GPIO   PG @ 0x501e;
volatile   GPIO   PI @ 0x5028;
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 例如: PA.ODR.Bit1 = 1;   表示PA1输出为高电平
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 老大,PA.ODR.Bit1=1;怎么编译不能通过啊?前面的方式好象不是定义端口的位吧,是自己定义的寄存器的位吧?
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 sbit
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 就是端口定义的位啊,你把那个结构体在头文件里写上,在C文件的程序里写PA.ODR.Bit1=1。怎么可能编译不通过。。。
此帖出自stm32/stm8论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
还是用标准C好看点吧:
typedef struct
{
        unsigned char Bit0 : 1;
        unsigned char Bit1 : 1;
        unsigned char Bit2 : 1;
        unsigned char Bit3 : 1;
        unsigned char Bit4 : 1;
        unsigned char Bit5 : 1;
        unsigned char Bit6 : 1;
        unsigned char Bit7 : 1;
}SBitChar;
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 用COSMIC的话,找一下它的帮助文档,查一下bitfield的用法。
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

12
 
简单:
_Bool TEST   @ PD_ODR:4;
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表