STM8 IO口的位操作

来源:互联网 发布:ros mac禁止 编辑:程序博客网 时间:2024/06/06 04:40
很多新手在不用STM库函数的情况下,不知道如何多STM8的I/O口进行按位操作,下面把我刚开始用STM8的经验跟大家分享一下!<p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/*----------------------------------------------------------------------------*///IO bits define</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p><p style="color: rgb(51, 51, 51); font-family: Tahoma, SimSun, Verdana, Arial; font-size: 12px; line-height: normal;"><span style="background-color: white;">/* 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;</span></p>
1 0