你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教STM32F031的PA13-SWDIO读电平一直为低问题

[复制链接]
deyagu 提问时间:2017-11-9 09:51 /
产品上引脚必须复用PA13和PA14。把PA13和PA14初始化成GPIO输入时,读外部输入的电平(频率低于1HZ方波),PA13和PA14读出来的电平一直为0,不知道问题出在哪里?
之前用过STM32F1系列,用下载口做GPIO时要先关SWJ,STM32F0没有这个寄存器,用STM32CubeMX生成的代码也没有什么特殊的地方。

请教大家:


初始化代码如下:
GPIO_InitStruct.Pin       = LPMODE_PIN;
GPIO_InitStruct.Mode   =  GPIO_MODE_INPUT;//GPIO_MODE_IT_RISING_FALLING;
GPIO_InitStruct.Pull      = GPIO_NOPULL;
HAL_GPIO_Init(LPMODE_PORT, &GPIO_InitStruct);


读电平:
static u8 CheckPinState(GPIO_TypeDef *SrcPort, u8 SrcPin)
{
    u8 ucCnt = 3;
    u8 ucStatus = 1;
    u8 ucHighLevelCnt = 0, ucLowLevelCnt = 0;

    // remove jitter
    while (ucCnt--)
    {
        (HAL_GPIO_ReadPin(SrcPort, SrcPin)) ? (ucHighLevelCnt++) : (ucLowLevelCnt++);
    }

    (ucHighLevelCnt > ucLowLevelCnt) ? (ucStatus = 1) : (ucStatus = 0);
    return ucStatus;
}




收藏 评论2 发布时间:2017-11-9 09:51

举报

2个回答
zero99 回答时间:2017-11-20 16:55:25
楼主有问题请发求助帖哦~
toofree 回答时间:2018-3-8 01:11:51
static u8 CheckPinState(GPIO_TypeDef *SrcPort, u8 SrcPin)

这一条中,SrcPin的类型不对,不能是u8,应该是u16类型。
见stm32f0xx_hal_gpio.c和stm32f0xx_hal_gpio.h
傲游截图20180308011049.jpg

傲游截图20180308011110.jpg

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版