最近将项目移植到STM32L476后,发现位带操作不起作用。上网查询一番资料后,结论是STM32L476不支持位带操作GPIO。具体说明如下:
根据《ARM Cortex-M3与Cortex-M4权威指南(第3版)》中第6章第7节描述
要实现对GPIO的位带操作,必须保证GPIO位于外设区域的第一个1MB中。
查询STM32L476的数据手册的存储器映像(Memory mapping)章节。
在表19章可以发现GPIO的地址为0x48000000 - 0x48001FF。并不在外设区域的第一个1MB中,所以STM32L476不支持位带操作。
说明:
如果上文描述有错误,请评论提示我修正。