1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 手放开 李圣杰
  4. 4 迷人的危险3(翻自 dance flow) FAFA
  5. 5 山楂树之恋 程佳佳
  6. 6 summertime cinnamons / evening cinema
  7. 7 不谓侠(Cover 萧忆情Alex) CRITTY
  8. 8 神武醉相思(翻自 优我女团) 双笙
  9. 9 空山新雨后 音阙诗听 / 锦零
  10. 10 Wonderful U (Demo Version) AGA
  11. 11 广寒宫 丸子呦
  12. 12 陪我看日出 回音哥
  13. 13 春夏秋冬的你 王宇良
  14. 14 世界が终わるまでは… WANDS
  15. 15 多想在平庸的生活拥抱你 隔壁老樊
  16. 16 千禧 徐秉龙
  17. 17 我的一个道姑朋友 双笙
  18. 18 大鱼  (Cover 周深) 双笙
  19. 19 霜雪千年(Cover 洛天依 / 乐正绫) 双笙 / 封茗囧菌
  20. 20 云烟成雨(翻自 房东的猫) 周玥
  21. 21 情深深雨濛濛 杨胖雨
  22. 22 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  23. 23 斑马斑马 房东的猫
  24. 24 See You Again Wiz Khalifa / Charlie Puth
  25. 25 Faded Alan Walker / Iselin Solheim
  26. 26 Natural J.Fla
  27. 27 New Soul Vox Angeli
  28. 28 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  29. 29 像鱼 王贰浪
  30. 30 Bye Bye Bye Lovestoned
  31. 31 Blame You 眠 / Lopu$
  32. 32 Believer J.Fla
  33. 33 书信 戴羽彤
  34. 34 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  35. 35 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  36. 36 慢慢喜欢你 LIve版(翻自 莫文蔚) 戴羽彤
  37. 37 病变(翻自 cubi) 戴羽彤
  38. 38 那女孩对我说 (完整版) Uu
  39. 39 绿色 陈雪凝
  40. 40 月牙湾 LIve版(翻自 F.I.R.) 戴羽彤
云烟成雨(翻自 房东的猫) - 周玥
00:00 / 04:00
An audio error has occurred, player will skip forward in 2 seconds.

作曲 : 少年佩

作词 : 墨鱼丝

作曲 : 少年佩

作词 : 墨鱼丝

制作人:黎偌天

编曲:黎偌天

监制:李纤橙

你的晚安 是下意识的恻隐

我留至夜深 治疗失眠梦呓

那封手写信 留在行李箱底

来不及 赋予它旅途的意义

若一切 都已云烟成雨

我能否 变成淤泥

再一次 沾染你

若生命 如过场电影

Oh让我再一次 甜梦里惊醒

我多想再见你

哪怕匆匆一眼就别离

路灯下昏黄的剪影

越走越漫长的林径

我多想再见你

至少玩笑话还能说起

街巷初次落叶的秋分

渐行渐远去的我们

若一切 都已云烟成雨

我能否 变成淤泥

再一次 沾染你

若生命 如过场电影

Oh让我再一次 甜梦里惊醒

我多想再见你

哪怕匆匆一眼就别离

路灯下昏黄的剪影

越走越漫长的林径

我多想再见你

至少玩笑话还能说起

街巷初次落叶的秋分

渐行渐远去的我们

站台 汽笛响起

想念是你的声音

我们提着过去 走入人群

寻找着一个位置 安放自己

我多想再见你

哪怕匆匆一眼就别离

路灯下昏黄的剪影

越走越漫长的林径

我多想再见你

至少玩笑话还能说起

街巷初次落叶的秋分

渐行渐远去的我们

STM32F4 7.STM32F4 独立看门狗

看门狗的作用:在系统错乱跑飞时复位系统

STM32内置两个看门狗,可以用来检测和解决又软件引起的错误和故障,当计数器达到给定超时值时,触发中断(仅适用窗口看门狗)或者产生系统复位

  独立看门狗: IWDG由专用低速时钟(LSI)驱动,即使主时钟发生故障时仍有效(独立看门狗适用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间要求较低)

  窗口看门狗:从APB1时钟分频后得到时钟驱动,通过可配置的时间窗口来检测应用程序非正常的 过迟或过早操作(窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序)

独立看门狗原理:

  在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗,此时计数器从其复位值0xFFFF递减,当计数器计数到尾值0x0000时产生一个复位信号(IWDG_REST)

  无论何时,只要在键值寄存器(IWDG_KR)写入0xAAAA(喂狗),自动装载寄存器IWDG_RLR的值就会重新加载到计数器,从而避免看门狗复位

  如果程序异常,就无法正常喂狗,从而系统复位

~键值寄存器IWDG_KR  0-15位有效  0xCCCC(启动看门狗)  0xAAAA(重新装载  喂狗)   (写入0x5555表示允许访问IWDG_PR和IWDG_RLR)  

~预分频寄存器IWDG_PR 0-2位有效  时钟分频  具有写保护  

~重装载寄存器IWDG_RLR 0-11位有效 装载一个值,喂狗时加载到递减计数器, 具有写保护  

~状态寄存器IWDG_SR 0-1位有效 看门狗状态

 

独立看门狗操作步骤

  ①取消寄存器写保护 IWDG_WriteAccessCmd()

  ②设置独立看门狗分频系数 IWDG_SetPrescaler()

  ③设置看门重装载值 IWDG_SetReload()

  ④使能看门狗 IWDG_Enable()

  ⑤应用程序喂狗 IWDG_ReloadCounter()

看门狗溢出时间计算:Tout=((4x2^prer)xrlr)/32    (M4)

#include "stm32f4xx.h"
#include "usart.h"
#include "delay.h"

void LED_Init(void)
{
//GPIOF9初始化设置
GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//LED对应IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉

GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIO

GPIO_SetBits(GPIOF,GPIO_Pin_9);//GPIOF9设置高,灯灭
//GPIO_ResetBits(GPIOF,GPIO_Pin_9);//输出低电平,灯亮
}


void Key_InIt(void)
{
//GPIOF9初始化设置
GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);//使能GPIOF时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;//LED对应IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉

GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化GPIO
}

u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)==0))
{
delay_ms(10);//去抖动

key_up=0;
if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)==0)return 1;
}else if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)==1)key_up=1;
return 0;// 无按键按下
}

void IWDG_Init(u8 prer,u16 rlr)
{
    //取消写保护
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
    
    //设置独立看门狗分频系数
    IWDG_SetPrescaler(prer);
    
    //设置看门重装载值
    IWDG_SetReload(rlr);
    
    IWDG_ReloadCounter();//初始化值  喂狗
    
    //使能看门狗
    IWDG_Enable();
}

int main(void)
{
    delay_init(168);
    LED_Init();
    Key_InIt();
    IWDG_Init(6,500);//初始化独立看门狗
    delay_ms(500);
    GPIO_ResetBits(GPIOF,GPIO_Pin_9);
    while(1)
    {
        if(KEY_Scan(0)==1)
        {
            IWDG_ReloadCounter();//喂狗
        }
        delay_ms(10);
    }
}

 

posted @ 2020-06-29 23:05  阿刀-  阅读(645)  评论(0编辑  收藏  举报