OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3019|回复: 6

,阿波罗h7的板子。我在配置io做上拉输出。pb2,和pb6。io设置被覆盖?

[复制链接]

10

主题

33

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-9-7
在线时间
15 小时
发表于 2020-3-16 13:38:49 | 显示全部楼层 |阅读模式
15金钱
,阿波罗h7的板子。我在配置io做上拉输出。pb2,和pb6。设定后之后没有问题。输出正常。再增加pb7和pb8之后。后增加的正常。之前pb2和pb6。无法正常输出?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

33

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-9-7
在线时间
15 小时
 楼主| 发表于 2020-3-16 13:39:27 | 显示全部楼层
//初始化PB0,PB1为输出.并使能这两个口的时钟                    
//LED IO初始化
void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_Initure;
    __HAL_RCC_GPIOB_CLK_ENABLE();                                        //开启GPIOB时钟
       
    GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1;                        //PB0,1
          GPIO_Initure.Pin=GPIO_PIN_4|GPIO_PIN_5;                        //PB4,5
       
          GPIO_Initure.Pin=GPIO_PIN_2|GPIO_PIN_6;                          //PB2,6   2脚启动  6脚氦气
          GPIO_Initure.Pin=GPIO_PIN_7|GPIO_PIN_8;                          //PB7,8   7脚气缸1 8脚气缸2
//          GPIO_Initure.Pin=GPIO_PIN_9|GPIO_PIN_13;                        //PB2,6   9脚气缸1 13脚气缸2
       
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;                  //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;                                 //上拉
    GPIO_Initure.Speed=GPIO_SPEED_FREQ_VERY_HIGH;          //高速
       
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);                     //初始化GPIOB.0和GPIOB.1
       
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);        //PB0置0
          HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);        //PB1置1
       
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);        //PB4置0
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);        //PB5置0       
       
          HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);        //PB2置0
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET);        //PB6置0       
               
                HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);        //PB7置0
//    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);        //PB8置0       
               
//                HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);        //PB9置0
//    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET);        //PB13置0       
       
       
}
回复

使用道具 举报

10

主题

33

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-9-7
在线时间
15 小时
 楼主| 发表于 2020-3-16 13:39:53 | 显示全部楼层
//LED端口定义
#define LED0(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET))
#define LED0_Toggle (HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1)) //LED0输出电平翻转
#define LED1(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET))
#define LED1_Toggle (HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0)) //LED1输出电平翻转

#define GP(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET))

#define HQ(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET))

#define QG1(n)        (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET))
//#define QG2(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET))
//#define QG3(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET))
//#define QG4(n)                (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET))
回复

使用道具 举报

10

主题

33

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-9-7
在线时间
15 小时
 楼主| 发表于 2020-3-16 13:40:25 | 显示全部楼层
            if(*(pb+0x00))          GP(0);
                  else                    GP(1);       
            if(*(pb+0x01))          HQ(0);
                  else                    HQ(1);
            if(*(pb+0x02))          QG1(0);
                  else                    QG1(1);       
//                  if(*(pb+0x03))          QG2(0);
//                  else                    QG2(1);       
回复

使用道具 举报

10

主题

33

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-9-7
在线时间
15 小时
 楼主| 发表于 2020-3-16 13:40:59 | 显示全部楼层
pb7 不用,pb6和pb2 正常,用了之后,无效
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-3-17 00:36:57 | 显示全部楼层
皇冠梨 发表于 2020-3-16 13:40
pb7 不用,pb6和pb2 正常,用了之后,无效

建议仿真看下寄存器值变化情况。
是不是配置了PB7, 另外两个IO的配置就改变了》?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2019-8-29
在线时间
16 小时
发表于 2020-3-17 16:23:21 | 显示全部楼层
结构体成员pin的值被覆盖成7 8了 这样试试GPIO_Initure.Pin=GPIO_PIN_2|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8;
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-3 20:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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