首页 > 应用 > 单片机应用
[导读]前天在STM32一个项目开发时,遇到了一个问题即想使用STM32的SWD默认管脚PA13或者PA14,当时使用的单片机型号为STM32F103VET6,该单片机为100pin单片机,这么多的管脚按理说一般的应用不会出现使用这么的管脚的,但是

前天在STM32一个项目开发时,遇到了一个问题即想使用STM32的SWD默认管脚PA13或者PA14,当时使用的单片机型号为STM32F103VET6,该单片机为100pin单片机,这么多的管脚按理说一般的应用不会出现使用这么的管脚的,但是,在绘制原理图和设计PCB时并未将全部的引脚引出,到最后焊好后可供扩展的IO就只有这个PA13 PA14了,所以就只能使用这个两个IO口了。

本文引用地址: http://www.21ic.com/app/mcu/201807/779098.htm

实际使用这个两个IO口十分简单,但考虑到很多人没有试过,且肯定和我开始一样存在一个疑问且不敢轻易尝试,那就是:将这个SWD改成普通IO口后,我用SWD方式还能烧写程序么?单片机会不会锁死?

首先,先讲述下怎样将这个SWD端口做为普通IO,总共分如下几步:

1.RCC配置中先RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

2.在GPIO配置中禁用 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable , ENABLE);

3.在GPIO中就可以随意定义这个PA13 PA14的管脚模式了。

程序编好后,可以通过SWD模式轻松将这个程序烧写进去,但是注意,当你烧写完这个程序的单片机再去用SWD方式烧写别的程序时,尴尬的事情就发生了,无法如第一次那样顺利的烧写了!为什么呢?因为SWD下载器连接到单片机时,单片机就会因上电工作在运行模式上去了,而这个SWD管脚刚被修改成普通IO了,即无法进行通信,所以解决办法就是不让单片机在运行模式上去,那办法有两个,第一就是通过BOOT1和BOOT0将它设置成ISP模式,第二就是干脆用ISP模式去烧写。

我亲自试验过,以上两种方式均可以,不过如果你就坚持用SWD方式且在运行模式下烧写,答案只有一个,没门!

所以建议:如果你的单片机只有SWD接口的最小系统板,BOOT管脚固定在运行模式配置的,切勿进行以上的修改。如果单片机有SWD和串口,且BOOT管脚引出带跳线的,那么放心修改使用,没问题。不过如果IO口不紧张的情况下,PA13 14做为SWD专用端口,十分不建议修改为普通IO,即便是你硬件有SWD和ISP


换一批

延伸阅读

[单片机应用] STM32学习笔记之点亮LED灯

STM32学习笔记之点亮LED灯

实验程序:/*******************************led.c*********************************/#include"stm32f4xx.h"//在SYSTEM目录下可......

关键字:STM32 点亮LED灯

[单片机应用] STM32f103的数电采集电路的DMA设计和使用优化程序

STM32f103的数电采集电路的DMA设计和使用优化程序

DMA,全称为:DirectMemoryAccess,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提......

关键字:STM32f103 数电采集 DMA

[单片机应用] STM32 软件模拟SPI时序驱动NRF24L01

STM32 软件模拟SPI时序驱动NRF24L01

其实stm32本身的硬件SPI也很好用,但是还是想用软件来模拟一下PSI的时序。SPI是一种高速的,全双工,同步串行的通信总线。SPI通信方式相当于是一个环形结构,由CSN、MISO、MOSI、SCLK四线组成,主要是在SCLK时钟线的......

关键字:STM32 软件模拟 SPI时序 NRF24L01

[单片机应用] AVR数字显示频率表和转速表

AVR数字显示频率表和转速表

这是一款体积非常小巧的电子制作,但是功能异常强大,可以非常容易地嵌入安装在仪表面板上,适合爱好者自制或用于改造老式仪表,  电路仅用了两块集成电路,CD4069用于小信号的放大和整形,AT90S2313......

关键字:转速表 频率 数字 AVR

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客