最近使用stm32f103c8t6时,想要使用PA15端口作为普通io口输出电平信号,但是发现配置不生效,于是就去网上查,发现要关闭初始状态下芯片默认的专用复位功能,于是总结了一下几个配置普通io口的引脚:

有:PA13  PA14  PA15  PB3  PB4

同时,这些引脚主功能(复位后)的功能如下如所示:

这些引脚只有重定义功能后才能作为普通的IO口使用,所以我们需要对这些引脚进行配置的时候开启AFIO复用时钟。

步骤一:时钟配置时同时开启AFIO复用时钟

//打开PB口时钟,AFIO复用时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);

步骤二:重映射(共三种方式)

1.GPIO_Remap_SWJ_JTAGDisable         /*!< JTAG-DP Disabled and SW-DP Enabled */

即能用PB3,PB4,PA15做普通IO,PA13和PA14用于SWD调试

2.GPIO_Remap_SWJ_Disable                /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */

5个引脚全为普通引脚,但不能再用JTAG和SWD仿真器调试,只能用st-link调试

3.GPIO_Remap_SWJ_NoJTRST      /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */

PB4可为普通IO口,JTAG和SWD正常使用,但JTAG没有复位


注1:如果将五个引脚当做普通IO口,那么上述步骤二中的重映射配置应写为:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

注2:如果你用PB3,PB4,PA15做普通IO,PA13和14用于SWD调试,则重映射配置应写为:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 

注3:配置只用PB4可为普通IO口:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE); 

学习笔记——STM32C8T6如何配置普通IO口相关推荐

  1. 学习笔记之-51单片机IO口详解

    前言 对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的.51单片机每个IO端口结构都有差异,都各有各的特点.在平时的应用中,特别是设 ...

  2. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  3. openCV2学习笔记---1.环境配置

    openCV2学习笔记-1.环境配置 openCV 是开源的计算机视觉代码库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成 ...

  4. LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决)

    LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决) 概述 每一次选修课总会碰到一堆问题,我真的是幸运得很.这次是LINUX服务器管理这门课,最开始安装虚拟机一切正常(用的是VMware安装u ...

  5. MSP430F5529学习笔记(一)——点灯|IO输出

    由于2021全国大学生电子设计竞赛的临近,为做好更充足的准备.故开始学习和了解TI公司旗下的一款低功耗MCU芯片--MSP430F5529,根据了解该单片机可用多种方式编写,例如大家常用的IAR,CC ...

  6. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  7. stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口

    在STM32的数据手册的管脚分配图中可以看到:PC14与OSC32_IN公用一个引脚,PC15与OSC32_OUT公用一个引脚,它们的使用方法如下: 当LSE(低速外部时钟信号)开启时,这两个公用管脚 ...

  8. STM32学习笔记2:配置TCRT5000模块(红外传感模块)调用

    利用stm32配置红外传感模块 1,红外模块原理 红外tcrt5000模块是基于红外发光二极管与光敏三极管的结构: 红外光的属性:具有反射性能.因此模块在工作状态时一直会向外发射红外光线 : 当红外光 ...

  9. linux下I2C驱动发送IO时序,笔记四:linux下IO口模拟实现I2C协议

    一.i2c总线是什么? 1.i2c总线是一种物理总线及实实在在的总线,通过板子pcb等图能看到. 2.i2c总线是一种主从结构. 3.i2c总线是一种通信协议. 4.i2c总线是两线制半双工串行总线: ...

最新文章

  1. 数据结构 c c java_用java做开发,却学c语言的数据结构,这样好吗?
  2. 67. Leetcode 450. 删除二叉搜索树中的节点 (二叉搜索树-基本操作类)
  3. 职场程序员如何高效自学
  4. python gevent缺点_python 协程 greenlet gevent
  5. PyQt5 Pyinstaller时出现错误Cannot find PyQt5 plugin directories
  6. 金山办公科创板过会 雷军有望迎来实控第三家上市公司
  7. extern 与 #define 使用说明
  8. life words
  9. 计算机术语中cook,计算机中的cookie是什么意思
  10. vmware使用显卡 | vmware切换显卡 | vmware显卡配置
  11. linux改d5000默认路径,linux相关指令和d5000基础操作.pdf
  12. ResHacker 3.5 汉化绿色版
  13. python自动排版公众号_请问微信公众号推文如何实现自动排版?
  14. 【DSP】【第一篇】开始DSP学习
  15. 深海迷航创造模式火箭怎么飞_深海迷航火箭怎么起飞
  16. AssemblyInfo.cs文件中的程序集属性
  17. android ftp权限,实战android手机telnet、ftp登陆,权限修改
  18. Cookie编程基础:检查浏览器是否接受Cookie
  19. “过程”和“流程”的差异
  20. how2j:JAVA学习笔记——DAY 8

热门文章

  1. sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...
  2. dev c 扫雷程序代码c语言,C语言 扫雷程序的实现
  3. java获取ajax传的数组对象,ajax传递对象数组
  4. sampler采样器记录
  5. java string 编码_java中GBK编码格式转成UTF8,用一段方法实现怎么做?
  6. 前端和Java后端分别需要学哪些技术?
  7. nginx同一个地址端口代理多个页面
  8. linux桌面 高分屏,让Linux下GNOME桌面、GDM登录界面适应高分屏的方法
  9. Python numpy.mat函数方法的使用
  10. Socket hang up