你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030求助帖,求指点关于IO口的控制问题

[复制链接]
ls164013 提问时间:2018-8-27 11:35 /
诸位大佬有没有过STM32f030r8t6开发板的,怎么可以通过编写代码来完成对SW_DP(代码下载口)的更改,改成开机后前五秒或者十秒用来下载,计时完成之后该口变成普通IO口的功能。
收藏 评论11 发布时间:2018-8-27 11:35

举报

11个回答
ls164013 回答时间:2018-8-27 16:32:13
感谢诸位大佬的帮助,问题已经解决,在此提供一下解决办法,希望能对后来者提供帮助:开头加一个5秒的延时函数就可以了,然后复位键按下后你就有五秒的时间可以用来下载代码,之后延时结束,PA13和PA14就是普通IO口功能了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 结帖奖励

查看全部评分

GKoSon 回答时间:2018-8-27 12:12:55
没做过 可以建立你这样做:在内存flash找一个地方写flag
上电以后flag是0 你就A功能 做完以后flag写1,然后系统复位。再去读flag就是1了,你可以做B功能了。 (很多事情都是这样做的比如屏幕校准 RTC后背区等) 如果你希望每次都这样,可以在B功能以后把flag=0.

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

fighter12315 回答时间:2018-8-27 12:19:07
延时个几秒失能SWD和JTAG就可以了啊,要下载程序时复位一下就可以了,担心来不及就延时10秒嘛,10秒绝对够你操作了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2018-8-27 13:28:24
端口重映像禁止SW_DP就可以了,问题是只能下载一次,运行后就无法再下载了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

ls164013 回答时间:2018-8-27 13:32:46
wenyangzeng 发表于 2018-8-27 13:28
端口重映像禁止SW_DP就可以了,问题是只能下载一次,运行后就无法再下载了。 ...

不能设置成那种 开机一定时间内下载的 然后后面自动更新成I/o口的那种吗,然后下次使用的时候重新断电复位也不可以恢复吗?
ls164013 回答时间:2018-8-27 13:34:05
cugxiao 发表于 2018-8-27 12:19
延时个几秒失能SWD和JTAG就可以了啊,要下载程序时复位一下就可以了,担心来不及就延时10秒嘛,10秒绝对够 ...

大佬 这样写的话 代码还是写在MAIN函数吗
废鱼 回答时间:2018-8-27 13:46:35
自己写代码可以实现,想改成什么模式都可以。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

fighter12315 回答时间:2018-8-27 15:30:44
ls164013 发表于 2018-8-27 13:34
大佬 这样写的话 代码还是写在MAIN函数吗

正常写代码就行啊,只不过在进入主循环前延时10s然后失能SWD和JTAG就行
ls164013 回答时间:2018-8-27 15:37:59
cugxiao 发表于 2018-8-27 15:30
正常写代码就行啊,只不过在进入主循环前延时10s然后失能SWD和JTAG就行

失能还是使能,我看网上好多都是使能代码 ,然后库函数我看了下,里面也就一个使能函数,并没有那个DISABLE的相关函数
fighter12315 回答时间:2018-8-27 18:49:03
ls164013 发表于 2018-8-27 15:37
失能还是使能,我看网上好多都是使能代码 ,然后库函数我看了下,里面也就一个使能函数,并没有那个DISAB ...

当然是失能啊,直接调用一个函数就可以了,操作很简单。复位时引脚会恢复默认
wudianjun2001 回答时间:2018-8-28 08:49:15
端口够的话就不要用这个口了,下载一次下次就不能用了,只能通过ISP模式来了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版