请问gd32w51x单片机支不支持位带操作

[复制链接]
1959|2
czx-china 发表于 2025-8-30 17:14 | 显示全部楼层 |阅读模式
本帖最后由 tyw 于 2025-8-30 20:15 编辑

//IO口操作宏定义
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))
#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum))

#define output_offset 0x14
#define input_offset  0x10

#define GPIOA_ODR_Addr    (GPIOA+output_offset)

#define PAout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)  //输出
#define PAin(n)    BIT_ADDR(GPIOA_IDR_Addr,n)  //输入

PAout(0)=1;这样操作好像不行了,请指导!




【Cortex-M】MCU位带操作最详细解析(主要以STM32为例,包括判断哪些MCU可用)_位带的.pdf (2.35 MB, 下载次数: 3)




                       tyw 注



评论

tyw
参考一下  发表于 2025-8-30 20:15
 楼主| czx-china 发表于 2025-9-9 17:00 | 显示全部楼层
不行,按照以前的方法读取就跳入Hard Fault Handler中断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

19

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部