• 整理之前公司前人留下的代码时,检查出诸多错误,其实做嵌入式程序员是很严谨的事,但很可惜,接触到大多的程序员都很随性,可能跟这个浮躁的时代有关,看代码写得好不好,看注释就可以了解十之八九。切入正题: 作为拨码开关输入信号,最简单就是将IO设置成弱上拉,免上拉电阻。GPIO模式设置如下:

    gpio_conf.GPIO_Mode  = GPIO_Mode_IPU;

    同时使用的有PB3、PB4、PB5。完成编译后测试发现PB3对应的开关没有响应,让拨码开关悬空,用万用表测电压PB3只有2~3百毫伏,其他引脚都可以达到3V以上,开始怀疑芯片、线路有问题,换了几块板故障相同,判断应该是软件问题。

  • 上网查了一下,发现很多人都遇到了这个问题,主要原因是PB3默认情况下是JATG的JTDO引脚,原理图上可清楚的标示为:PB3/JTDO。所以要把PB3做普通GPIO必须功能复用,那么无法使用JATG调试了。我们使用的是SWD调试所以没有影响,网上给出的解决方案是:1、需要开启APB2总线上的 AFIO 和 GPIOB 时钟。2、关闭JTAG调试开启SWD调试。
    RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

    在设置GPIO的代码前加入以上两行,编译下载后测试PB3做普通GPIO使用正常,把第一行注释掉测试也是可以正常工作。代码如下:

        //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);gpio_conf.GPIO_Pin   = GPIO_Pin_3;GPIO_Init(GPIOB, &gpio_conf);

STM32F103R8T6 PB3 作拨码开关输入时无效的原因和处理方法相关推荐

  1. 使用IDEA时快捷键无效的原因和解决方法

    使用IDEA时快捷键无效的原因和解决方法 今天尝试用IDEA全局搜索时(Ctrl+Shift+F),发现无效. 浏览了一些博客,然后发现大家的回答出奇的一致.所以肯定是了: IDEA快捷键失效的原因, ...

  2. 使用 ADOX 将 Table 添加到 Catalog 时报“类型无效”的原因和解决方法

    http://blog.csdn.net/kfhzy/article/details/6020283 http://blog.csdn.net/kfhzy/article/details/602054 ...

  3. php iis ajax 无效,IIS7中Ajax.AjaxMethod无效的原因及解决方法

    最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了. 因为我发布网站用的是iis ...

  4. C语言实现可写入文件的账号密码登录系统,密码输入时掩盖,登录界面菜单选择,更改密码系统,课设必备。

    账号登录系统在很多系统设计时都时必不可少的,今天这个登录系统功能较全,可以注册,登录,找回密码,修改密码,以及在输入密码时会有*将密码掩盖,还有完善地登录选择界面,废话不多,上代码! 目录 1.头文件 ...

  5. php没开启wap功能,php作wap开发时遇到的问题

    1.文件格式 首先要遇到的问题肯定是文件格式,在作 web开发时,大家都是用的html或xhtml,到了wap开发时,就得用wml了.什么是wml?大家可以去查更详细的资料,我这里只是略微的提到. 在 ...

  6. 笔记本蓝牙显示输入码无效_Win10系统蓝牙设备输入码无效是怎么回事

    现在,越来越多用户都开始使用蓝牙鼠标,因为其非常小巧,操作起来也十分简单.不过,近来一些朋友在 win10系统 电脑中连接蓝牙鼠标时,经常会遇到输入码无效提示,导致无法正常使用蓝牙鼠标,该怎么办呢?接 ...

  7. MOS管用作开关时在电路中的连接方法

    MOS管用作开关时在电路中的连接方法 反证: NMOS管正确接法: PMOS管正确接法: D极接输入:S极接输出. S极接输入:D极接输出. 假如: 假如反接: S接输入,D接输出呢? D接输入,S接 ...

  8. 使用有序GUID:提升其在各数据库中作为主键时的性能

    原文出处:https://www.codeproject.com/articles/388157/guids-as-fast-primary-keys-under-multiple-database  ...

  9. JS实现在输入框内输入@时,邮箱账号自动补全

    <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8&quo ...

最新文章

  1. Window编程主函数详解
  2. 国内自动驾驶公司争先入局Robotaxi
  3. 红盟过客提到的 CCIE 必读书籍
  4. 2011年全国软件大赛模拟题及参考答案(Java高职组)
  5. [渝粤教育] 三峡大学 电力电子技术(Ⅱ) 参考 资料
  6. 20 best jquery 截图
  7. java选择题多选题系统小程序_单选题与多选题判断得分(自动考试小程序,入门级)...
  8. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错
  9. 海报设计素材模板|炫彩创意PSD分层时尚艺术海报 ​​​​
  10. MyEclipse中更改JRE环境
  11. 数据库架构设计——索引结构设计
  12. 使用ECS和OSS搭建个人网盘(阿里云官方)
  13. 题解 P4480 【[BJWC2018]餐巾计划问题】
  14. UE4 Sequencer的事件调用
  15. 如何在网上回复负面评论
  16. 网络编程:网络协议简介
  17. 发布pip项目(包含静态文件)遇到的坑
  18. 2022第二届中国新能源汽车功能安全创新国际峰会
  19. PAT乙级C语言 1028 人口普查
  20. flash 中无法导出swf文件的解决方法

热门文章

  1. pip 安装 pyautogui 失败
  2. 一文看懂中国的运营商入库认证(中国电信入库指南)
  3. 统计学习 | 正态分布 Normal Distribution
  4. 控制器 PM866K01/ABB\SD833
  5. Java中字符串转整型和整型转字符串
  6. 麦块服务器正版登,我的世界1.7.2服务器麦块
  7. 新浪支付日常懵逼系列
  8. 1.STM32F427llHX(大疆A板) 模板创建(库函数版本)
  9. r23中文测试软件,Cinebench R23
  10. 程序员在创业项目中能做些什么