[技术问答] 请教M451系列IO口设置方法

[复制链接]
 楼主| 发表于 2019-11-12 12:02 | 显示全部楼层 |阅读模式
请问如何一次性设置一组IO口的工作模式?
比如现在要设置PD口所有IO为输出模式,需要像如下一个个设置,有没有可以一次设置完所以PD口的方法?
GPIO_SetMode(PD, BIT0, GPIO_MODE_OUTPUT);
GPIO_SetMode(PD, BIT1, GPIO_MODE_OUTPUT);
GPIO_SetMode(PD, BIT2, GPIO_MODE_OUTPUT);
...
发表于 2019-11-12 12:42 | 显示全部楼层
你用逻辑操作,组合一下啊。
发表于 2019-11-12 12:43 | 显示全部楼层
GPIO_SetMode(PD, BIT0|BIT1|BIT2, GPIO_MODE_OUTPUT);
发表于 2019-11-12 12:43 | 显示全部楼层
逻辑操作一下,其实就是将你需要设置为输出的那几个IO的位放一起就行了。
发表于 2019-11-12 13:04 | 显示全部楼层
你可以看看那个原型啊。还有就是那几个定义位的宏,你看看原型是什么,就知道怎么做了。
发表于 2019-11-12 13:04 | 显示全部楼层
楼上说的很对。
 楼主| 发表于 2019-11-12 13:40 | 显示全部楼层
643757107 发表于 2019-11-12 12:43
GPIO_SetMode(PD, BIT0|BIT1|BIT2, GPIO_MODE_OUTPUT);

这个方法好,谢谢!
发表于 2019-11-13 07:46 | 显示全部楼层
直接對寄存器設定值。
pin config有這個功能
 楼主| 发表于 2019-11-13 08:24 | 显示全部楼层
jasontu 发表于 2019-11-13 07:46
直接對寄存器設定值。
pin config有這個功能

好的,谢谢!
发表于 2019-11-17 18:18 | 显示全部楼层
弄懂了配置函数如何工作的,自己就可以根据需要改了
发表于 2019-12-9 11:53 | 显示全部楼层
二楼的正解啊
发表于 2019-12-9 12:09 | 显示全部楼层
需要非常基础的C语言知识
发表于 2019-12-10 09:03 | 显示全部楼层
直接對pmd寫值也可以。
/* Configure PB.2 as Output mode and PC.1 as Input mode */
    PB->PMD = (PB->PMD & (~GPIO_PMD_PMD2_Msk)) | (GPIO_PMD_OUTPUT << GPIO_PMD_PMD2_Pos);
    PC->PMD = (PC->PMD & (~GPIO_PMD_PMD1_Msk)) | (GPIO_PMD_INPUT << GPIO_PMD_PMD1_Pos);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

233

帖子

2

粉丝
快速回复 返回顶部 返回列表