在调试stm32F103c8t6单片机时,将PB4重映射为TIM3_CH1,做为PWM波形输出时,下载程序后PB4口无任何波形,一直为高电平。确认程序无任何问题,于是想到会不会是PB4口被占用了,检查原理图后,发现没有任何外设用到PB4口。于是怀疑PB4被系统功能占用了,仔细看芯片手册后发现,PB4口上电后会被默认为J-TAG口。

想要将PB4做为普通IO口用,必须将J-TAG功能禁止,J-TAG功能禁止方法如下:


首先在stm32f10x_gpio.c文件中看看关于 禁止下载器功能的三个变量定义。
GPIO_Remap_SWJ_NoJTRST 意思是 J-TAG 和 SW 功能 中只是禁止了 JTRST引脚,也就是PB4引脚。也就是PB4引脚可以做为普通IO口,其他引脚不能做为普通IO口。
GPIO_Remap_SWJ_JTAGDisable 意思是 SW 下载功能正常,J_TAG下载功能禁止。也就是说PA13、PA14引脚不能做为普通IO口用,PA15、PB3、PB4引脚可以作为普通IO口引脚使用。
GPIO_Remap_SWJ_Disable 意思是 SW 和 J-TAG下载功能相关的引脚全部被禁止了。也就是说下载功能的相关引脚都可以做为普通IO口使用。
使用GPIO_Remap_SWJ_Disable这个命令时要注意,一旦禁止了SW和J-TAG下载功能,单片机就不能通过下载器下载程序了,想要下载程序只能通过串口下载。

在程序中只需要用到PB4口就行,所以可以使用GPIO_Remap_SWJ_NoJTRST这个命令,只是将PB4口做我普通引脚。其他功能不变。
要关闭J-TAG功能,程序中只需添加下面两行代码:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);                 //使能复用时钟功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);            //JTAG-DP Disabled and SW-DP Enabled

由于PB4口是被复用为下载口,所以端口复用功能配置时,首先要使能复用时钟功能,然后再禁止J-TAG功能,设置才有效。如果未开启时钟,关闭J-TAG命令将不起作用。

STM32F103单片机J-TAG引脚功能关闭方法相关推荐

  1. 傲游浏览器如何关闭智能填表 智能填表功能关闭方法

    打开傲游浏览器,点击右上角的"三"字型图标,并在出现弹窗后选取[设置]; 傲游浏览器如何关闭智能填表?智能填表功能关闭方法 进入傲游设置页面后,在左侧的栏目项中点击"基本 ...

  2. android微信如何禁用拍一拍,微信拍一拍怎么样关闭 微信拍一拍功能关闭方法

    微信拍一拍怎么样关闭?微信在iOS和Android的最新版本中推出新功能"拍一拍",这是一个提醒的功能,有震动和文字提醒,也因此一些用户不太想看到这些信息,想要关闭拍一拍功能,下面 ...

  3. win10计算机历史记录,win10电脑使用浏览记录的时间轴功能关闭方法

    win10电脑中有一个功能可以记录用户们的使用记录,当用户就需要时就可通过时间轴功能查看,有些用户会觉得这个功能侵犯了个人的隐私并不想此功能将使用记录记录下来要怎么关闭呢?下文win10电脑使用浏览记 ...

  4. 织梦php开发tags功能开发,DedeCms织梦二次开发批量添加tag标签 批量修改TAG标签功能的方法...

    需求背景: 之前发布了不少文章,后来发现之前的这些文章当时发布时都没有添加tag标签,然而现在需要都添加上tag标签,然而这个在默认的织梦后台是没办法批量实现的,只能一篇篇文章去修改. 思考: 织梦原 ...

  5. 【stm32f103】引脚功能、工程简介与添加步骤

    单片机最小系统.引脚.寄存器与工程简介与添加步骤 单片机最小系统 引脚功能分布 工程文件 添加工程文件的步骤 单片机最小系统 单片机最小系统大致上可以分为三个部分:电源部分.晶振部分.复位部分. 常用 ...

  6. 全志T507开发板去掉IO扩展芯片,保留扩展引脚功能

    飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的接口资源,而实际上OKT507-C的CPU引脚资源是比较紧缺的,那么它是如何实现这么丰富的接口资源呢? 答案就是飞凌使用了一个IO扩展 ...

  7. 全志T507去掉IO扩展芯片,保留扩展引脚功能

    飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的接口资源,而实际上OKT507-C的CPU引脚资源是比较紧缺的,那么它是如何实现这么丰富的接口资源呢? 答案就是飞凌使用了一个IO扩展 ...

  8. html5自动完成是什么,HTML5中form如何关闭自动完成功能的方法

    什么是HTML5的form自动完成功能? 首先,HTML5 中有个新属性autocomplete ,autocomplete 属性规定表单是否应该启用自动完成功能,它自动完成允许浏览器预测对字段的输入 ...

  9. 设置框开始隐藏状态html5,小猿圈分享HTML5中form如何关闭自动完成功能的方法

    WEB前端现在是时下较火的编程语言之一,但是对于怎么学习或者学习哪些内容很多朋友都是不了解的,针对以上内容小猿圈web前端讲师总结了form如何关闭自动完成功能的方法?希望对你的前端学习有一定的帮助. ...

最新文章

  1. Linux学习(十五)---Python定制篇---apt软件管理和远程登录
  2. 电大计算机应用基础 课程考核3,电大专科-计算机应用基础作业3答案.doc
  3. web项目中的web.xml元素解析
  4. 设置placeholder无效解决办法
  5. linux update语句,MySQL 多表 update sql语句总结
  6. dlp防泄密系统卸载_怎样做好数据防泄密?奥赛系统早知道
  7. 对C语言的程序基本结构框架,C语言的基本框架的.doc
  8. 设计模式之蝉——代理模式上中
  9. 加快二代支付系统建设
  10. 手机安装 卸载CA证书
  11. 常用小波基函数以及多尺度多分辨率的理解1
  12. MyCat(三)分库分表
  13. 共享纸巾机系统开发,关于Switch的使用
  14. OR-Tools:一个用于优化的开源软件 -0-简介与安装
  15. 中国房地产还能火多久?
  16. 不想做CEO的程序员不是好码农?
  17. SV学习(4)——数据作用域和类型转换 $cast()
  18. 那先比丘说法:用智慧回答不信佛的人
  19. resetlogs,noresetlogs,完全恢复,不完全恢复
  20. 采用遗传算法求解最大值c语言,遗传算法求解y=x2.doc

热门文章

  1. async 和 await 关键字
  2. 一起谈.NET技术,.NET程序员必备参考图片
  3. ExtJs4.1目录结构介绍和使用说明[转]
  4. [SoapUI] Mock Service
  5. WCF 4 高级编程 - 读书笔记
  6. 中国万网被黑客黑的情景
  7. LFS安装过程记录(1)-准备工作
  8. 软件测试--环境讲解
  9. 传统软件测试的互联网化改造
  10. selenium 定位方式5