很多新手在不用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; |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
RE:不用库的情况下,如何实现STM8S单片机I/O口的按位操作