野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 30757|回复: 8

请教一个关于区别IO端口组的问题

[复制链接]
发表于 2014-1-21 14:06:36 | 显示全部楼层 |阅读模式
void LED_GPIO_Config(void)
{  
  /*¶¨ÒåÒ»¸öGPIO_InitTypeDefÀàÐ͵ĽṹÌå±äÁ¿*/
  GPIO_InitTypeDef GPIO_InitStructure;
  /*¿ªÆôGPIOBºÍGPIOFµÄÍâÉèʱÖÓ*/
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);
  /*选择要控制的GPIOB的引脚*/                  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  /*ÉèÖÃÒý½ÅģʽΪͨÓÃÍÆÍìÊä³ö*/
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
  /*ÉèÖÃÒý½ÅËÙÂÊΪ50MHz */   
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIOB0*/
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  
  /*Ñ¡ÔñÒª¿ØÖƵÄGPIOFÒý½Å*/                  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
  /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIOF7*/
  GPIO_Init(GPIOF, &GPIO_InitStructure);
  
  /*选择要控制的GPIOF的引脚*/                                               请大家注意我红色标记的地方,代码一样,为什么一个是选        
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                          择IO端口B组一个是选择IO端口F组,怎么区别的???
  /*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIOF7*/
  GPIO_Init(GPIOF, &GPIO_InitStructure);     
  /* ¹Ø±ÕËùÓÐledµÆ */
  GPIO_SetBits(GPIOB, GPIO_Pin_0);
  
  /* ¹Ø±ÕËùÓÐledµÆ */
  GPIO_SetBits(GPIOF, GPIO_Pin_7|GPIO_Pin_8);  
}
回复

使用道具 举报

 楼主| 发表于 2014-1-21 14:08:37 | 显示全部楼层
帖子粘贴的有点乱,我是从火哥流水灯的程序中粘贴的,程序中要选择不同组的端口,但是我看代码一样,不知怎么回事???
回复 支持 反对

使用道具 举报

发表于 2014-1-21 14:08:40 | 显示全部楼层
根据板子的原理图选择的,板子的led分别是连到 pb0 \  pb7  \pb 8 所以就是选择这三个引脚了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-21 14:12:47 | 显示全部楼层
flyleaf 发表于 2014-1-21 14:08
根据板子的原理图选择的,板子的led分别是连到 pb0 \  pb7  \pb 8 所以就是选择这三个引脚了

我想问的是代码一样,怎么区别B和F
回复 支持 反对

使用道具 举报

发表于 2014-1-21 14:14:37 | 显示全部楼层
笨小鸟 发表于 2014-1-21 14:12
我想问的是代码一样,怎么区别B和F

在那些赋值句子之后调用了函数
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOF, &GPIO_InitStructure);

就是在这里区别B和F的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-21 14:17:21 | 显示全部楼层
flyleaf 发表于 2014-1-21 14:14
在那些赋值句子之后调用了函数
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOF, &GPIO_Init ...

这样 还有一个火哥的程序里用了两次GPIO_Init(GPIOF, &GPIO_InitStructure);

对GPIO进行初始化,是有意为之,还是写错了?
回复 支持 反对

使用道具 举报

发表于 2014-1-21 14:19:32 | 显示全部楼层
笨小鸟 发表于 2014-1-21 14:17
这样 还有一个火哥的程序里用了两次GPIO_Init(GPIOF, &GPIO_InitStructure);

对GPIO进行初始化,是有意 ...

一次是初始化PF7调用的GPIO_Init,一次是为了初始化PF8调用的GPIO_Init
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-21 14:21:34 | 显示全部楼层
flyleaf 发表于 2014-1-21 14:19
一次是初始化PF7调用的GPIO_Init,一次是为了初始化PF8调用的GPIO_Init

强烈支持,非常感谢哥们哦 好的 谢谢!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-21 15:01:37 | 显示全部楼层
笨小鸟 发表于 2014-1-21 14:17
这样 还有一个火哥的程序里用了两次GPIO_Init(GPIOF, &GPIO_InitStructure);

对GPIO进行初始化,是有意 ...

版主我还有一个问题 这个GPIO_Init 函数的功能是什么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 13:45 , Processed in 0.028278 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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