打印
[技术问答]

请教M451系列IO口设置方法

[复制链接]
710|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eyu66|  楼主 | 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);
...

使用特权

评论回复
沙发
643757107| | 2019-11-12 12:42 | 只看该作者
你用逻辑操作,组合一下啊。

使用特权

评论回复
板凳
643757107| | 2019-11-12 12:43 | 只看该作者
GPIO_SetMode(PD, BIT0|BIT1|BIT2, GPIO_MODE_OUTPUT);

使用特权

评论回复
地板
643757107| | 2019-11-12 12:43 | 只看该作者
逻辑操作一下,其实就是将你需要设置为输出的那几个IO的位放一起就行了。

使用特权

评论回复
5
zhuotuzi| | 2019-11-12 13:04 | 只看该作者
你可以看看那个原型啊。还有就是那几个定义位的宏,你看看原型是什么,就知道怎么做了。

使用特权

评论回复
6
zhuotuzi| | 2019-11-12 13:04 | 只看该作者
楼上说的很对。

使用特权

评论回复
7
eyu66|  楼主 | 2019-11-12 13:40 | 只看该作者
643757107 发表于 2019-11-12 12:43
GPIO_SetMode(PD, BIT0|BIT1|BIT2, GPIO_MODE_OUTPUT);

这个方法好,谢谢!

使用特权

评论回复
8
jasontu| | 2019-11-13 07:46 | 只看该作者
直接對寄存器設定值。
pin config有這個功能

使用特权

评论回复
9
eyu66|  楼主 | 2019-11-13 08:24 | 只看该作者
jasontu 发表于 2019-11-13 07:46
直接對寄存器設定值。
pin config有這個功能

好的,谢谢!

使用特权

评论回复
10
monitoring| | 2019-11-17 18:18 | 只看该作者
弄懂了配置函数如何工作的,自己就可以根据需要改了

使用特权

评论回复
11
drer| | 2019-12-9 11:53 | 只看该作者
二楼的正解啊

使用特权

评论回复
12
gwsan| | 2019-12-9 12:09 | 只看该作者
需要非常基础的C语言知识

使用特权

评论回复
13
jasontu| | 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

粉丝