你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

不用库的情况下,如何实现STM8S单片机I/O口的按位操作

[复制链接]
perpetuiy 提问时间:2014-9-26 15:15 /
很多新手在不用STM库函数的情况下,不知道如何多STM8的I/O口进行按位操作,下面把我刚开始用STM8的经验跟大家分享一下!
/*----------------------------------------------------------------------------*/
//IO bits define
/* Port A data output bits*/
volatile _Bool PA_ODR_0  @PA_ODR:0;
volatile _Bool PA_ODR_1  @PA_ODR:1;
volatile _Bool PA_ODR_2  @PA_ODR:2;
volatile _Bool PA_ODR_3  @PA_ODR:3;
volatile _Bool PA_ODR_4  @PA_ODR:4;
volatile _Bool PA_ODR_5  @PA_ODR:5;
volatile _Bool PA_ODR_6  @PA_ODR:6;
volatile _Bool PA_ODR_7  @PA_ODR:7;
/* Port A data input bits*/
volatile _Bool PA_IDR_0  @PA_IDR:0;
volatile _Bool PA_IDR_1  @PA_IDR:1;
volatile _Bool PA_IDR_2  @PA_IDR:2;
volatile _Bool PA_IDR_3  @PA_IDR:3;
volatile _Bool PA_IDR_4  @PA_IDR:4;
volatile _Bool PA_IDR_5  @PA_IDR:5;
volatile _Bool PA_IDR_6  @PA_IDR:6;
volatile _Bool PA_IDR_7  @PA_IDR:7;
/* Port B data output bits*/
volatile _Bool PB_ODR_0  @PB_ODR:0;
volatile _Bool PB_ODR_1  @PB_ODR:1;
volatile _Bool PB_ODR_2  @PB_ODR:2;
volatile _Bool PB_ODR_3  @PB_ODR:3;
volatile _Bool PB_ODR_4  @PB_ODR:4;
volatile _Bool PB_ODR_5  @PB_ODR:5;
volatile _Bool PB_ODR_6  @PB_ODR:6;
volatile _Bool PB_ODR_7  @PB_ODR:7;
/* Port B data input bits*/
volatile _Bool PB_IDR_0  @PB_IDR:0;
volatile _Bool PB_IDR_1  @PB_IDR:1;
volatile _Bool PB_IDR_2  @PB_IDR:2;
volatile _Bool PB_IDR_3  @PB_IDR:3;
volatile _Bool PB_IDR_4  @PB_IDR:4;
volatile _Bool PB_IDR_5  @PB_IDR:5;
volatile _Bool PB_IDR_6  @PB_IDR:6;
volatile _Bool PB_IDR_7  @PB_IDR:7;
/* Port C data output bits*/
volatile _Bool PC_ODR_0  @PC_ODR:0;
volatile _Bool PC_ODR_1  @PC_ODR:1;
volatile _Bool PC_ODR_2  @PC_ODR:2;
volatile _Bool PC_ODR_3  @PC_ODR:3;
volatile _Bool PC_ODR_4  @PC_ODR:4;
volatile _Bool PC_ODR_5  @PC_ODR:5;
volatile _Bool PC_ODR_6  @PC_ODR:6;
volatile _Bool PC_ODR_7  @PC_ODR:7;
/* Port C data input bits*/
volatile _Bool PC_IDR_0  @PC_IDR:0;
volatile _Bool PC_IDR_1  @PC_IDR:1;
volatile _Bool PC_IDR_2  @PC_IDR:2;
volatile _Bool PC_IDR_3  @PC_IDR:3;
volatile _Bool PC_IDR_4  @PC_IDR:4;
volatile _Bool PC_IDR_5  @PC_IDR:5;
volatile _Bool PC_IDR_6  @PC_IDR:6;
volatile _Bool PC_IDR_7  @PC_IDR:7;
/* Port D data output bits*/
volatile _Bool PD_ODR_0  @PD_ODR:0;
volatile _Bool PD_ODR_1  @PD_ODR:1;
volatile _Bool PD_ODR_2  @PD_ODR:2;
volatile _Bool PD_ODR_3  @PD_ODR:3;
volatile _Bool PD_ODR_4  @PD_ODR:4;
volatile _Bool PD_ODR_5  @PD_ODR:5;
volatile _Bool PD_ODR_6  @PD_ODR:6;
volatile _Bool PD_ODR_7  @PD_ODR:7;
/* Port D data input bits*/
volatile _Bool PD_IDR_0  @PD_IDR:0;
volatile _Bool PD_IDR_1  @PD_IDR:1;
volatile _Bool PD_IDR_2  @PD_IDR:2;
volatile _Bool PD_IDR_3  @PD_IDR:3;
volatile _Bool PD_IDR_4  @PD_IDR:4;
volatile _Bool PD_IDR_5  @PD_IDR:5;
volatile _Bool PD_IDR_6  @PD_IDR:6;
volatile _Bool PD_IDR_7  @PD_IDR:7;

 
收藏 评论1 发布时间:2014-9-26 15:15

举报

1个回答
霹雳之火 回答时间:2014-9-27 08:37:22

RE:不用库的情况下,如何实现STM8S单片机I/O口的按位操作

直接操作寄存器,谢谢分享
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版