当前位置: 首页 > news >正文

网站建设家乡网页设计模板优化营商环境条例

网站建设家乡网页设计模板,优化营商环境条例,wordpress 最近访客 多说,电脑硬盘做网站服务器教程一、PY32F003F18窗口看门狗特点#xff1a; 即使窗口看门狗被禁止#xff0c;窗口看门狗的递减计数器也会继续递减计数。 二、窗口看门狗复位的条件#xff1a; 1、将控制寄存器WWDG_CR中的WDGA1,激活窗口看门狗计数器等于0x3F时,则产…一、PY32F003F18窗口看门狗特点 即使窗口看门狗被禁止窗口看门狗的递减计数器也会继续递减计数。 二、窗口看门狗复位的条件 1、将控制寄存器WWDG_CR中的WDGA1,激活窗口看门狗计数器等于0x3F时,则产生复位 2、装载窗口看门狗的计数器值大于窗口看门狗window寄存器的值,则产生复位。 3、窗口看门狗的提前唤醒中断EWI1且窗口看门狗递减计数器的值达到0x40时则产生EWI中断。 其中断处理程序处理完后则产生复位。 4、装载窗口看门狗计数器值的条件 递减计数器的值小于或等于窗口寄存器的数值并且大于0x3F时才可以向窗口看门狗计数器值写入新值否则会引起复位。 三、窗口看门狗框图 四、窗口看门狗装载计数器值的时间图 五、测试程序 #include WWDG.h #include stdio.h //getchar(),putchar(),scanf(),printf(),puts(),gets(),sprintf()/* 即使窗口看门狗被禁止窗口看门狗的递减计数器也会继续递减计数; 窗口看门狗复位的条件 1、将控制寄存器WWDG_CR中的WDGA1,激活窗口看门狗计数器等于0x3F时,则产生复位 2、装载窗口看门狗的计数器值大于窗口看门狗window寄存器的值,则产生复位。 3、窗口看门狗的提前唤醒中断EWI1且窗口看门狗递减计数器的值达到0x40时则产生EWI中断。 其中断处理程序处理完后则产生复位。 4、装载窗口看门狗计数器值的条件 递减计数器的值小于或等于窗口寄存器的数值并且大于0x3F时才可以向窗口看门狗计数器值写入新值 否则会引起复位。 */uint32_t WWDG_Config(void); void WWDG_Counter_Reload(void); void SysRstSrcRecord(void);uint32_t WWDG_Config(void) {WWDG_HandleTypeDef WwdgHandle;uint32_t timeoutvalue 0;uint32_t pclk1 0;uint32_t wdgtb 0;__HAL_RCC_WWDG_CLK_ENABLE(); //使能WWDG时钟WwdgHandle.Instance WWDG; //选择WWDGWwdgHandle.Init.EWIMode WWDG_EWI_DISABLE; //窗口看门狗计数器值到达0x40时不会产生中断WwdgHandle.Init.Prescaler WWDG_PRESCALER_8; //窗口看门狗的预分频器值:选择8分频WwdgHandle.Init.Counter 0x7F; //窗口看门狗计数器值(7位): 0x7FWwdgHandle.Init.Window WWDG_Window_Value; //窗口看门狗窗口值(7位): 0x40~0x7fHAL_WWDG_Init(WwdgHandle);//WWDG初始化 //hwwdg-Init.EWIModeWWDG_EWI_ENABLE使能窗口看门狗计数器值到达0x40时产生中断 //hwwdg-Init.EWIModeWWDG_EWI_DISABLE窗口看门狗计数器值到达0x40时不会产生中断 //hwwdg-Init.Prescaler表示窗口看门狗的预分频器值 //窗口看门狗产生复位的时间: (hwwdg-Init.Counter - hwwdg-Init.Window 1 ) * tPCLK * 4096 * 窗口看门狗的预分频器值timeoutvalue(WwdgHandle.Init.Counter - WwdgHandle.Init.Window) 1;//计算窗口看门狗计数器值和窗口看门狗窗口值的差pclk1 HAL_RCC_GetPCLK1Freq();//获取PCLK的值wdgtb (1 ((WwdgHandle.Init.Prescaler) 7)); //获取分频值,2^WDGTB[1:0]timeoutvalue ((4096 * wdgtb * timeoutvalue) / (pclk1 / 1000));//计算超时时间return(timeoutvalue);//返回窗口看门狗的复位时间,单位为毫秒 }//函数功能:喂狗 void WWDG_Counter_Reload(void) {WRITE_REG(WWDG-CR,0x7F);//Write to WWDG CR the WWDG Counter value to refresh with 0x7F }//函数功能:打印CPU复位原因 void SysRstSrcRecord(void) {uint8_t i;uint8_t Reset_Buffer[11];for(i0;i11;i) Reset_Buffer[i]0;//清除Reset_Buffer[0] __HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY);//读取内部部24MHz时钟源稳定标志Reset_Buffer[1] __HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY);//读取外部4~32MHz时钟源稳定标志 // Reset_Buffer[2] __HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY); //读取PLL时钟稳定标志 // Reset_Buffer[3] __HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY);//读取外部32.768KHz的时钟源稳定标志Reset_Buffer[4] __HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY);//读取内部RC的32KHz时钟源稳定标志Reset_Buffer[5] __HAL_RCC_GET_FLAG(RCC_FLAG_PINRST); //读取外部引脚复位标志Reset_Buffer[6] __HAL_RCC_GET_FLAG(RCC_FLAG_PWRRST); //读取BOR/POR/PDR复位标志Reset_Buffer[7] __HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST); //读取软件复位标志Reset_Buffer[8] __HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST); //读取独立看门狗定时器复位标志Reset_Buffer[9] __HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST); //读取窗口看门狗定时器复位标志Reset_Buffer[10] __HAL_RCC_GET_FLAG(RCC_FLAG_OBLRST); //读取Option byte loader复位标志if( Reset_Buffer[0] ) printf(\r\nHSI OK!);if( Reset_Buffer[1] ) printf(\r\nHSE OK!); // if( Reset_Buffer[2] ) printf(\r\nPLL OK!); // if( Reset_Buffer[3] ) printf(\r\nLXTAL OK!);if( Reset_Buffer[4] ) printf(\r\nLSI OK!);if( Reset_Buffer[5] ) printf(\r\nPIN reset!);if( Reset_Buffer[6] ) printf(\r\nPOR reset!);if( Reset_Buffer[7] ) printf(\r\nSWR reset!);if( Reset_Buffer[8] ) printf(\r\nIWDG reset!);if( Reset_Buffer[9] ) printf(\r\nWWDG reset!);if( Reset_Buffer[10] ) printf(\r\nOption byte loader reset!); } #ifndef __WWDG_H #define __WWDG_H#include py32f0xx_hal.h#define WWDG_Window_Value 0x50#define _HAL_WWDG_ENABLE(__INSTANCE__) SET_BIT((__INSTANCE__)-CR, WWDG_CR_WDGA) //将控制寄存器WWDG_CR中的WDGA1,激活窗口看门狗计数器等于0x3F时产生复位#define Get_WWDG_Counter(__INSTANCE__) ( (__INSTANCE__)-CR (~WWDG_CR_WDGA) ) //读窗口计数器的值extern uint32_t WWDG_Config(void); extern void WWDG_Counter_Reload(void); extern void SysRstSrcRecord(void); #endif /* __WWDG_H */ #include py32f0xx_hal.h #include SystemClock.h #include delay.h #include LED.h #include SystemClock.h #include USART2.h #include stdio.h //getchar(),putchar(),scanf(),printf(),puts(),gets(),sprintf() #include string.h //使能strcpy(),strlen(),memset() #include WWDG.hconst char CPU_Reset_REG[]\r\nCPU reset!\r\n;int main(void) {uint32_t delay;HSE_Config(); // HAL_Init();//systick初始化delay_init(); // HAL_Delay(1000);USART2_Init(115200);//PA0是为USART2_TX,PA1是USART2_RX//中断优先级为0x01//波特率为115200,数字为8位,停止位为1位,无奇偶校验,允许发送和接收数据,只允许接收中断,并使能串口printf(%s,CPU_Reset_REG);SysRstSrcRecord();MCU_LED_Init();TIM1_LED_Init();delayWWDG_Config();while (1){MCU_LED_Toggle(); // HAL_Delay(delay5);if( Get_WWDG_Counter(WWDG) WWDG_Window_Value)//喂狗时间到WWDG_Counter_Reload();//喂狗} } 六、测试结果
http://www.hkea.cn/news/14487789/

相关文章:

  • 专门做酒的网站广州网络运营课程培训班
  • 网站设计与开发培训广告艺术设计专业介绍
  • 网址网站注册如何搭建网站的支付接口
  • 北京做网站的公司拟电子商务型网站
  • 辽阳好的网站建设公司苏州前十名传媒公司
  • swoole做网站广州一建建设集团
  • 网站快速建设软件下载免费舆情网站
  • 西安交易网站建设采购信息网
  • 室内设计图网站有哪些数据可视化网站模板
  • 公司制作网站价格西安网站优化培训
  • 网站建设技术网北京系统开发网站建设
  • 网络叶子 网站推广维护网站成本
  • 制作企业网站的一般流程宜昌网站设计公司
  • html5手机编程软件网站关键词在线优化
  • 网站建设与电子商务的教案做一的同志小说网站
  • 企业网站建设需要做些什么西安seo和网络推广
  • 如何做好网站设计做后期的网站
  • 拓者室内设计论坛官方网网站优化和网站推广
  • 网站怎么做app在线绘制流程图的网站
  • 苍南具城乡建设局网站教育类网站建设方案
  • 专业网站建设公司用织梦吗网站可分为哪两种类型
  • 网站风格分析asp动态链接生成网站地图
  • 文化管 网站建设规划linux网站开发
  • 淘客app定制开发百度关键词优化首选667seo
  • 番禺网站开发价格网站服务器关闭怎么恢复
  • 潍坊专业网站建设哪家便宜潍坊市建设监理协会网站
  • 有哪些网站做任务有佣金怎么做网站的seo优化
  • p2p网站开发价格公司财务记账软件
  • 加强校园网站建设方案wordpress kickstart
  • 网站开发简历的项目经验微信公众号登录平台入口