OpenEdv-开源电子网

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

窗口看门狗实验

[复制链接]

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2012-6-13
在线时间
0 小时
发表于 2012-6-23 16:49:23 | 显示全部楼层 |阅读模式
#include <stm32f10x_lib.h>
#include <sys.h>
#include <delay.h>
int flag=0;
void WWDG_IRQHandler(void)
{
    WWDG->CR|=0xFF;//计数初值设置为7F,启用看门狗
    WWDG->SR=0;//清除中断
    PDout(2)=~PDout(2);    //PD2翻转,连接DS1
}
int main()
{   
    Stm32_Clock_Init(0);//系统时钟设置,设置为16MHz,为什么设为9时(72MHz),PD2的闪烁感觉更慢了呢?很奇怪,难道是感觉的问题
    delay_init(72);//延时初始化
    RCC->APB2ENR|=1<<2;//使能PORTA时钟
    RCC->APB2ENR|=1<<5;//使能PORTD时钟
    RCC->APB1ENR|=1<<11;
    GPIOA->CRH&=0xFF0FFFFF;
    GPIOA->CRH|=0X00800000;//设定PA13为输入
    GPIOA->ODR&=0x0000DFFF;
    GPIOA->ODR|=0x00002000;    //设定为输入上拉

    GPIOD->CRL&=0xFFFFF0FF;
    GPIOD->CRL|=0X00000300;//设定PD2为输出,连接DS1
    GPIOD->ODR&=0x0000FFFB;
    GPIOD->ODR|=0x00000004;    //设定输出高
    GPIOA->CRH&=0xFFFFFFF0;   
    GPIOA->CRH|=0X00000003;//设定PA8为输出,连接DS0
    GPIOA->ODR&=0x0000FEFF;    //输出低电平
    delay_ms(300);//复位后点亮DS0 300ms
    GPIOA->ODR|=0x00000100;    //设定输出高
    WWDG->CFR|=0x380;//设置为计数到0x40时中断,计数频率=2197Hz
    WWDG->CFR|=0x48;//窗口值设置为48
    WWDG->CR|=0xFE;//计数初值设置为7F,启用看门狗
    WWDG->CR|=0x40;//T6设置为1,以防上电时候复位
    MY_NVIC_Init(2,2,WWDG_IRQChannel,2);//抢占2,子优先级2,组2   
while(1)
    {       
    GPIOA->CRH|=0X00000003;
    }
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-23 20:46:52 | 显示全部楼层
用定时器统计一下,靠眼睛不太准确哦.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2012-6-13
在线时间
0 小时
 楼主| 发表于 2012-6-23 23:55:59 | 显示全部楼层
回复【2楼】正点原子:
把Stm32_Clock_Init(9)改成9确实变慢了,闪烁间隔变得变长,为什么频率变快,反而更慢????

---------------------------------
#include <stm32f10x_lib.h>
#include <sys.h>
#include <delay.h>
int flag=0;
void WWDG_IRQHandler(void)
{
WWDG->SR=0;//清除中断
WWDG->CR|=0xFF;//计数初值设置为7F,启用看门狗
PDout(2)=~PDout(2); //PD2翻转
}
void TIM3_IRQHandler(void)
{
TIM3->SR&=0XFFBE;// 无触发器中断产生
PAout(8)=~PAout(8); //PA8翻转


}
int main()
{
Stm32_Clock_Init(0);//系统时钟设置,设置为16MHz,
delay_init(72);//延时初始化
RCC->APB2ENR|=1<<2;//使能PORTA时钟
RCC->APB2ENR|=1<<5;//使能PORTD时钟
RCC->APB1ENR|=1<<11;//使能WWDG时钟
RCC->APB1ENR|=1<<1;//定时器3时钟使能
GPIOA->CRH&=0xFF0FFFFF;
GPIOA->CRH|=0X00800000;//设定PA13为输入
GPIOA->ODR&=0x0000DFFF;
GPIOA->ODR|=0x00002000; //设定为输入上拉

GPIOD->CRL&=0xFFFFF0FF;
GPIOD->CRL|=0X00000300;//设定PD2为输出,连接DS1
GPIOD->ODR&=0x0000FFFB;
GPIOD->ODR|=0x00000004; //设定输出高
GPIOA->CRH&=0xFFFFFFF0;
GPIOA->CRH|=0X00000003;//设定PA8为输出,连接DS0
GPIOA->ODR&=0x0000FEFF; //输出低电平
delay_ms(300);//复位后点亮DS0 300ms
GPIOA->ODR|=0x00000100; //设定输出高
//-------------设定定时器TIM3--------------------//
TIM3->ARR=0x1C1F;//定时器时钟为72MHz,计数到7200,
TIM3->SC=0x1C1F;//7199+1=7200分频,计数器时钟相当于10KHz
TIM3->DIER|=1<<0;//允许更新中断
TIM3->DIER|=1<<6;//使能触发中断
TIM3->CR1|=1<<7;//自动重装载允许位
TIM3->CR1|=1;//使能计数器
//------------设定watchdog定时器----------------//
WWDG->CFR|=0x380;//设置为计数到0x40时中断,计数频率=2197Hz
WWDG->CFR|=0x48;//窗口值设置为48
WWDG->CR|=0xFE;//计数初值设置为7F,启用看门狗
WWDG->CR|=0x40;//T6设置为1,以防上电时候复位
MY_NVIC_Init(2,2,WWDG_IRQChannel,2);//抢占2,子优先级2,组2
MY_NVIC_Init(1,1,TIM3_IRQChannel,2);//抢占2,子优先级1,组2

while(1)
{
GPIOA->CRH|=0X00000003;
}
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-24 02:07:44 | 显示全部楼层
我也表示怀疑.你用我们的代码测试一下看看.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-6-24 02:17:20 | 显示全部楼层
    Stm32_Clock_Init(0);//系统时钟设置,设置为16MHz,为什么设为9时(72MHz),PD2的闪烁感觉更慢了呢?很奇怪,难道是感觉的问题
    delay_init(72);//延时初始化

楼主应该猜得出之前的例程代码的 72 是什么意思吧。。。
https://github.com/roxma
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-6-24 02:32:05 | 显示全部楼层
不好意思,我没有认真看帖,忽略楼上的内容,
看下图:





https://github.com/roxma
回复 支持 反对

使用道具 举报

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2012-6-13
在线时间
0 小时
 楼主| 发表于 2012-6-24 10:25:28 | 显示全部楼层
回复【6楼】Pony279:
---------------------------------
确实是这样,
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 07:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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