搜索
bottom↓
回复: 13

大家的STM32F103有没有遇到过上电复位后部分外设不工作的...

[复制链接]

出0入0汤圆

发表于 2017-5-23 15:19:09 | 显示全部楼层 |阅读模式
我遇到一个非常诡异的问题, 我用过103RC,VC等几个型号的芯片,存在上电复位后部分外设不工作但用SWD重新下载程序或者手动复位后就能正常工作的问题。
之前的都是遇到上电复位后UART1不正常工作, 这个UART1是用来调试用的,用SWD重新下载程序就正常了, 所以一直没有深究和解决。
但现在做了一块新的板子(103RC),发现上电后串口能正常工作了,但TIM8的PWM没有了输出,手动复位后就一切正常。

我以为是reset电路的问题,但我用了复位芯片, 结果还是一样的,我用示波器看电源和reset的波形,是非常正常的,电源的纹波30mv左右。
请问大家这个问题应该怎样去排查?

出0入0汤圆

发表于 2017-5-23 15:29:47 | 显示全部楼层
初始化错误。

看不工作的外设寄存器是否被恰当地设置了。

出5入8汤圆

发表于 2017-5-23 15:41:48 | 显示全部楼层
是不是初始时序的问题

出0入0汤圆

发表于 2017-5-23 15:44:29 | 显示全部楼层
没有遇到过      

出0入0汤圆

发表于 2017-5-31 16:38:57 | 显示全部楼层
部分外设不工作,我认为或者是程序的问题,或者是外围设备影响了正常的输出。

出0入0汤圆

发表于 2017-5-31 16:48:41 | 显示全部楼层
本帖最后由 slzm40 于 2017-5-31 16:51 编辑

boot0拉地了么,  个人觉得时钟没配好,外设时钟没到正常水平,    上次还遇到一个程序, 都批量了, 但是发现按键在一些电源下有时有效,有时无效。 后来一看程序发现,时钟根本没配。

出0入0汤圆

发表于 2017-5-31 17:03:36 | 显示全部楼层
可能与多重因素在里面,比如你可能自己写了个bootloader,你的bootloader中对外设有些设置。

出0入0汤圆

 楼主| 发表于 2017-5-31 17:09:08 | 显示全部楼层
caoxuedong 发表于 2017-5-31 16:38
部分外设不工作,我认为或者是程序的问题,或者是外围设备影响了正常的输出。 ...

我现在也是觉得是程序的问题, 就是初始化外设的时候可能某些外设初始化的先后顺序导致外设没有初始化成功,这个某个坛友遇到差不多的问题,最后是通过更改外设初始化的顺序解决的, 但我试了调换一些顺序暂时没有解决。

出0入0汤圆

 楼主| 发表于 2017-5-31 17:11:52 | 显示全部楼层
slzm40 发表于 2017-5-31 16:48
boot0拉地了么,  个人觉得时钟没配好,外设时钟没到正常水平,    上次还遇到一个程序, 都批量了, 但是发 ...

int main(void)
{       
  SystemInit();
  RCC_Configuration();

。。。。。。。。。。


程序一开始就调用system_stm32f10x.c这个文件里面的SystemInit()函数, 请问这样是不是已经配置好呢?

出0入0汤圆

 楼主| 发表于 2017-5-31 17:12:48 | 显示全部楼层
zstein 发表于 2017-5-31 17:03
可能与多重因素在里面,比如你可能自己写了个bootloader,你的bootloader中对外设有些设置。 ...

我没有自己写Bootloader,都是用库自带的。

出0入0汤圆

发表于 2017-5-31 17:43:54 | 显示全部楼层
额,我记得权威指南书上说过:
上电复位复位3个部分:处理器+调试组件+外设
系统复位复位2个部分:处理器+外设
手动复位复位1个部分;处理器
所以我认为之所以出现差别:是因为两种复位方式复位的内容不一样导致的.所以应当检查外设复位到底改变了哪些寄存器...
个人见解,不足之处,还请指教...

出0入0汤圆

 楼主| 发表于 2017-5-31 18:08:40 | 显示全部楼层
擦鞋匠 发表于 2017-5-31 17:43
额,我记得权威指南书上说过:
上电复位复位3个部分:处理器+调试组件+外设
系统复位复位2个部分:处理器+外设

你这个信息非常有用, 我会根据这个线索研究一下。

出0入0汤圆

发表于 2017-5-31 18:33:50 | 显示全部楼层
cemi 发表于 2017-5-31 18:08
你这个信息非常有用, 我会根据这个线索研究一下。

权威指南 Page78页详细说明了这3种复位类型 你可以看下

出0入0汤圆

 楼主| 发表于 2017-6-1 08:28:02 | 显示全部楼层
擦鞋匠 发表于 2017-5-31 18:33
权威指南 Page78页详细说明了这3种复位类型 你可以看下

你说的权威指南的106页有关于reset的说明,
我在Cortex-M3 Technical Reference Manual的第六章看到更详细的,不过没有看到解决我这个问题的线索。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 19:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表