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

关于halt模式电流求助

[复制链接]
leaf198310 提问时间:2011-2-27 16:26 /
外部中断加唤醒做的程序,目前功能都正常,目前就碰到电流问题,项目有用到2个i/o口,一个做输入,外部中断有上拉电阻;一个输出接一个led灯和一个电阻到vdd,我在进入halt模式时,输出高电平的,应该是正确的;有用一个timer2,我也是在halt时将其关掉了,其他不用的时钟也都关了;即使这样也仍然有1.2mA的电流,以下是我的设置:
void GPIO_Init(void) 
{
    PB_DDR |= 0x20;              /* PB5 Output 其他输入.                  */
    PB_CR1 |= 0x20;              /* PB5推挽输  其他悬空输入                    */
    PB_CR2  = 0x00;              /* Output speed up to 2MHz. */


  PB_ODR=0X20;

    PD_DDR=0X00;
    PD_CR1=0X08;
    PD_CR2=0x08; /* PD3允许中断 其他禁止中断     */
    EXTI_CR1  = 0x80;            /*仅下降沿触发*/
    EXTI_CR2  = 0x00;

}

void CLK_Init(void)
{
    /* Configure HSI prescaler*/
    CLK_CKDIVR &= ~0x10;          /*fMASTER频率 01: fHSI= fHSI RC output/2. */
    CLK_CKDIVR |= 0x01;           /* 001: fCPU=fMASTER/2. */
    CLK_PCKENR1=0x20;
    CLK_PCKENR2=0X00;
}

void TIM_Init(void)
{
    TIM2_PSCR =0x03; // 8分频 TIM2时基为1us
    TIM2_ARRH =0x00; //
    TIM2_ARRL =0x96; //
    TIM2_IER =0x01;  //使能TIM2中断
    TIM2_CR1 =0x81;  // 使能TIM2计数 
}
进入halt时的设置:
TIM2_CR1&=~(0x01);  // 停止TIM2计数 
CLK_PCKENR1&=~(0x20);
CLK_SWCR |= 0x02;            /* Enable switch */
CLK_SWR   = 0xD2;            /* Select LSI */
while (!(CLK_SWCR & 0x08));  /* Wait for switch done */
if (CLK_CMSR != 0xD2)        //等待切换完毕
while(1); //等待切换完毕
_asm("nop");
_asm("halt");
CLK_SWCR |= 0x02;            /* Enable switch */
CLK_SWR   = 0xE1; //切换到HSI
while (!(CLK_SWCR & 0x08));  /* Wait for switch done */
if (CLK_CMSR != 0xE1)        //等待切换完毕  
while(1); //等待切换完毕
CLK_PCKENR1|=0X20;  //只打开TIM2 clock
TIM2_CR1|=0X01; //起用TIM2计数 

难道是中断上拉口消耗电流,还是在切到LSI时要把HSI关掉?1.2mA正常吗,各位请帮帮忙
收藏 评论4 发布时间:2011-2-27 16:26

举报

4个回答
leaf198310 回答时间:2011-2-27 19:27:18

RE:关于halt模式电流求助

怎么发不了图片?
电路是NRST =>0.01UF电容到地
PD3=>接红外接收头,由于外部没上拉电阻,我只能将PD3设为内部输入上拉
PB5=>LED+电阻接到vdd
其他的什么都没接,用的HSI.当然vdd与vss之间是有电容的.
废鱼 回答时间:2011-2-28 08:42:05

RE:关于halt模式电流求助

在休眠以前,把IO口改为搞阻态就行。这样是因为你有输入和输出,导致的电流变大。
leaf198310 回答时间:2011-2-28 08:49:50

RE:关于halt模式电流求助

好的,这两个i/o是改不了了,我其他的I/O口都是设的是输入悬浮,知道是正常就行,谢谢版主,这个案子多亏你的指导!
废鱼 回答时间:2011-2-28 09:48:32

RE:关于halt模式电流求助

不客气。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版