OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18398|回复: 8

请教stm32103的复位

[复制链接]

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
发表于 2013-8-9 17:18:02 | 显示全部楼层 |阅读模式
我想问问MDK那里的reset and run设置,通过了JTAG下载程序后,到底都干了些什么,有人研究过吗?他这个reset到底是什么,从而令到STM32复位的。
我将RCC_GetFlagStatus()函数放在miain函数里面,查看:
RCC_FLAG_PINRST  管脚复位
RCC_FLAG_PORRST  POR/PDR复位
RCC_FLAG_SFTRST  软件复位
RCC_FLAG_IWDGRST  IWDG复位
RCC_FLAG_WWDGRST  WWDG复位
RCC_FLAG_LPWRRST  低功耗复位
这几个标志位,JTAG下载完程序后运行主程序,通过一盏灯指示,试了6次,头三个标志都置位了。我一直以为JTAG是通过RST脚复位STM32的,难道为了防止有人不连接JTAG上的管脚,还多发了一个软件复位信号吗?不会吧。。。。


再上个图。这幅图应该是说外部复位外的其他复位,其实都会让外部复位标志置‘1’吧
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 17:33:06 | 显示全部楼层
这没研究,呵呵,楼主要是研究出了结果分享下啊.期待呢.呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
 楼主| 发表于 2013-8-9 17:36:37 | 显示全部楼层
其实我不是因为无聊才问这种问题的,虽然我也不知道怎么就来到这种状况,但是其实一开始我发现的现象是当STM32的VDD电压低过2.8V时(直流稳压电源精度只有0.1V),电源输出电流约0.01A,STM32的复位指示灯亮了!按键什么的肯定是没问题的,因为当VDD高于 约3.0V时,输出电流0.04A,复位指示灯不亮。 程序算是正常吧(因为只是点盏灯,应该是正常输出了)




回复 支持 反对

使用道具 举报

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
 楼主| 发表于 2013-8-9 17:37:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,等你回复啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 18:17:29 | 显示全部楼层
你是不是开了什么PVD啊?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
 楼主| 发表于 2013-8-12 09:44:10 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,整个程序也就这样了:
#include "stm32f10x.h"
void RCCPeriphClock_Init(void);
void GPIO_Config(void);

int main(void)

    RCCPeriphClock_Init(); 
    GPIO_Config(); 
    GPIO_SetBits(GPIOA, GPIO_Pin_1); 
    GPIO_SetBits(GPIOB, GPIO_Pin_5 | GPIO_Pin_6); 
    while(1) 
    { 
        if(RCC_GetFlagStatus(RCC_FLAG_SFTRST)) 
        { 
            GPIO_ResetBits(GPIOA,GPIO_Pin_1); 
        } 
    } 
}

void RCCPeriphClock_Init(void)

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
}
void GPIO_Config(void)

    GPIO_InitTypeDef GPIO_InitStructure; 

    /*配置PA0-PA1为推挽输出*/ 
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

/*配置PB5-PB6为推挽输出*/ 
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
    GPIO_Init(GPIOB, &GPIO_InitStructure);  
   /*以上配置好4个LED灯的控制输出*/
}
这样应该不会和PVD发生关系了吧,而且我的开发板没有电池供电这一块的,断电之后就这么什么电都没了。
回复 支持 反对

使用道具 举报

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
 楼主| 发表于 2013-8-12 10:36:34 | 显示全部楼层
刚刚通过杜邦线 将JTAG和板子上面的JTAG接口接上,由于线不是很够,9个地只接了5个,但是我用万用表查过JTAG,对应地的在它内部应该都是互连的,所以应该没有问题。上板子上的JTAG图


我做了一下小实验,条件分别是:MDK设置和不设置“reset and run”和是否用杜邦线连接CPU_RST脚
附带的通过上面说的复位指示灯,有如下结果:
只要选择了“reset and run”,不管有没有用杜邦线连接CPU_RST,复位指示灯从点击“下载”后,会很快地、有间隔地闪两次。然后程序正常运行。(不过本人的程序都是些小程序而已)
但是在MDK4.70这个版本下,“reset and run”时灵时不灵,在10次左右的测试中,似乎连上cpu_rst脚后成功率高一些。(实验次数不多,不敢乱说,也不知是不是软件问题)

在不选择“reset and run”时,不管有没有连上CPUI_RST,复位指示灯只会闪一次,需要我按下复位按键后才能正常运行程序。

所以我觉得JTAG应该有发一个软件复位命令给STM32。这也与之前的实验结果相符。
回复 支持 反对

使用道具 举报

35

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-6-26
在线时间
0 小时
 楼主| 发表于 2013-8-12 16:06:37 | 显示全部楼层
已解决问题,是另一个外围芯片起了左右,在2.8V以下时产生复位信号。。。
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2013-8-12 16:15:48 | 显示全部楼层
回复【楼主位】烂泥桑:
---------------------------------
JTAG协议里带软件复位的,硬件的不过可选项。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 07:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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