打印
[STM32F1]

STM32串口1引脚接在重映射口PB6 PB7 后不能仿真

[复制链接]
4187|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
90houyidai|  楼主 | 2018-11-27 12:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 90houyidai 于 2018-11-27 13:17 编辑

如题,使用CUBE配置的代码,第一次可以正常烧写,之后经测试发现都要按住复位才能烧写,所以猜想是程序禁用了SWD模块,检查代码,只有HAL_AFIO_REMAP_USART1_ENABLE 会操作AFIO寄存器,可是看逻辑好像有没问题,只能在这句之后重新开启SWD,不知道有没有人也碰到这个问题

pwm.rar (3.29 MB)
jlinklog。txt被删掉了,如果需要稍后补充
沙发
香水城| | 2018-11-27 12:22 | 只看该作者
你第一次用CubeMx吗? 注意 Pinout/SYS/serial wrie 做选择配置。

使用特权

评论回复
板凳
wangjiahao88| | 2018-11-27 12:48 | 只看该作者
是不是配置的有问题?
开启了 AFI时钟了吗?

使用特权

评论回复
地板
90houyidai|  楼主 | 2018-11-27 13:11 | 只看该作者
香水城 发表于 2018-11-27 12:22
你第一次用CubeMx吗? 注意 Pinout/SYS/serial wrie 做选择配置。

这个已经做了配置了,pinout界面配置usart1和swd,时钟页默认,然后生成的工程就是这样

使用特权

评论回复
5
90houyidai|  楼主 | 2018-11-27 13:11 | 只看该作者
wangjiahao88 发表于 2018-11-27 12:48
是不是配置的有问题?
开启了 AFI时钟了吗?

开启了,稍后我上传工程

使用特权

评论回复
6
香水城| | 2018-11-27 14:04 | 只看该作者
打开你的工程用STLINK烧写很顺畅。是不是你硬件其它方面有问题。

你要是怀疑那个重映射,随便搞个GPIO翻转的代码也可以验证是否这个问题。

使用特权

评论回复
7
90houyidai|  楼主 | 2018-11-27 14:12 | 只看该作者
香水城 发表于 2018-11-27 14:04
打开你的工程用STLINK烧写很顺畅。是不是你硬件其它方面有问题。

你要是怀疑那个重映射,随便搞个GPIO翻转 ...

我在主函数98行添加        __HAL_AFIO_REMAP_SWJ_NOJTAG();宏之后才是正常的,而这个宏是已经在HAL_MspInit()函数中已经添加了,默认CBUE是没有98行的,就会出现,第一次空芯片是可以找到烧录,第二次就不行了

使用特权

评论回复
8
小灵通2018| | 2018-11-27 14:48 | 只看该作者
用的Keil?没法仿真?可以烧录吗

使用特权

评论回复
9
90houyidai|  楼主 | 2018-11-27 15:06 | 只看该作者
小灵通2018 发表于 2018-11-27 14:48
用的Keil?没法仿真?可以烧录吗

初始化完成再次添加 __HAL_AFIO_REMAP_SWJ_NOJTAG();宏就一切正常,感觉是串口1重映射将调试端口关闭了

使用特权

评论回复
10
小灵通2018| | 2018-11-27 15:14 | 只看该作者
90houyidai 发表于 2018-11-27 15:06
初始化完成再次添加 __HAL_AFIO_REMAP_SWJ_NOJTAG();宏就一切正常,感觉是串口1重映射将调试端口关闭了 ...

可能是这样

使用特权

评论回复
11
香水城| | 2018-11-27 16:24 | 只看该作者
90houyidai 发表于 2018-11-27 14:12
我在主函数98行添加        __HAL_AFIO_REMAP_SWJ_NOJTAG();宏之后才是正常的,而这个宏是已经在HAL_MspIn ...

__HAL_AFIO_REMAP_SWJ_NOJTAG();宏 并无须再放一次。

你确认下你的芯片型号是否选择正确,即软件选择的芯片型号跟硬件是否一致。

使用特权

评论回复
12
90houyidai|  楼主 | 2018-11-27 16:38 | 只看该作者
香水城 发表于 2018-11-27 16:24
__HAL_AFIO_REMAP_SWJ_NOJTAG();宏 并无须再放一次。

你确认下你的芯片型号是否选择正确,即软件选择的芯 ...

单步调试时,在执行到串口1的remap的宏的时候,AFIO寄存器的值跳变成 0xAAAA  AAAA,芯片型号为stm32F103ret6

使用特权

评论回复
13
heimaojingzhang| | 2018-12-3 13:38 | 只看该作者
还没有服用过下载引脚呢

使用特权

评论回复
14
90houyidai|  楼主 | 2018-12-3 13:55 | 只看该作者
heimaojingzhang 发表于 2018-12-3 13:38
还没有服用过下载引脚呢

下载引脚没有复用,复用的是串口的

使用特权

评论回复
15
labasi| | 2018-12-3 13:56 | 只看该作者
这种用法我还没试过 下次专门试试去

使用特权

评论回复
16
xiaoqizi| | 2018-12-3 15:27 | 只看该作者
看的我好晕菜!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

472

帖子

2

粉丝