打印
[AT32F407]

AT32F407的GPIO翻转,大家用什么方式?

[复制链接]
262|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
记忆花园|  楼主 | 2025-6-30 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新上了一个项目,不知不觉中,硬件组的设计人员发挥了“聪明才智”导致放着好好的驱动外设不使用,非要让我使用GPIO模拟。得,这就涉及到了GPIO翻转了!现在考虑有两种方式:一种方式使用驱动库,简单易用;另一种,使用传说中的bit-banding方式。前者在参考官方的示例io_toggle.c倒是非常轻松就实现了。
#define SPI_CS_LOW()        GPIOA->clr = GPIO_PINS_4
#define SPI_CS_HIGH()        GPIOA->scr = GPIO_PINS_4

#define SPI_MISO_LOW()        GPIOA->clr = GPIO_PINS_6
#define SPI_MISO_HIGH()        GPIOA->scr = GPIO_PINS_6

#define SPI_MOSI_LOW()        GPIOB->clr = GPIO_PINS_15
#define SPI_MOSI_HIGH()        GPIOB->scr = GPIO_PINS_15

#define SPI_CLK_LOW()                GPIOA->clr = GPIO_PINS_5
#define SPI_CLK_HIGH()        GPIOA->scr = GPIO_PINS_5
后者 bit-banding还在研究中!我就想问问,大家遇到这个应用场景 如何做软件设计啊?



使用特权

评论回复
沙发
我建议使用驱动库,因为它更简单,而且官方提供的示例代码已经非常成熟,可以减少开发时间和出错率。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

24

帖子

0

粉丝