|
我使用STM32G431RBT6的通过以下常用映射关系进行转换想使用位带操作,通过仿真器看,对于GPIO外设地址结果始终无法正确读写,但是测试RAM存储区的单元可以通过位带操作正确读写。不知道大家是否在G4上有成功使用位带操作,求教如何实现? define IDR_OFS 0x10 //STM32G4xxdefine ODR_OFS 0x14//IO口地址映射 define GPIOA_IDR_Addr (GPIOA_BASE+IDR_OFS) //0x40010808define 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 PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入 |
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
STSPIN32G4内部驱动电压输出问题
定时器触发SPI
stm32G474RBT3的flash擦除寿命是多少?
stm32g474RE 输出4相波形,如何精准输出ADC触发的问题。
STM32G491 flash擦除的问题,请教大神
STM32G4 FLASH擦除不了,寻求各位大佬、官方的帮助
STSPIN32G4 STM32G431VBTx CAN FIFO发送数据帧随机变远程帧
STM32G473,PA3导致定时器定时误差过大
请问 使用MC SDK6.4版本,芯片选的时STM32G431CBUx系列,再配置电流采样时候,选择片内运放,外部增益网络,为啥会报错呀
微信公众号
手机版
但是,位带区和别名区的地址空间空间都有明确定义。如果G4的GPIO没有落在位带区
就没法支持位带操作。我查看了手册,G4的GPIO外设寄存器地址空间都没在位带区。
当然,很多其它外设和部分片内RAM是支持位带操作的。
这里有篇文章可以参考下:
STM32G4系列是否支持位带操作
回答很有帮助,非常感谢