很多新手在不用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; |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
RE:不用库的情况下,如何实现STM8S单片机I/O口的按位操作