题海让大学四年没有难题
白天模式登陆

题目详情

填空题 在基于构件的独立看门狗编程方法中,以下资料是构件的源程序和主程序代码,请补充相应的代码.//文件名称:wdog.c//功能概要:STM32L431RC 独立看门狗底层驱动程序头文件//版权所有:苏州大学飞思卡尔嵌入式中心(sumcu.suda.edu.cn)//==========================================================================#include "wdog.h" // ===========================================================================// 函数名称:wdog____start// 函数参数:timeout:设置重装载的时间// 函数返回:无// 功能概要: 启动看门狗模块// ===========================================================================void wdog____start(uint32____t timeout){IWDG->KR = IWDG____KEY____WRITE____ACCESS____ENABLE; //使能对IWDG____PR和IWDG____RLR的写操作IWDG->PR = IWDG____PRESCALER ____32____; //设置IWDG的预分频值IWDG->RLR = timeout; //设置重装载的时间IWDG->KR = IWDG____KEY____RELOAD; //重装载看门狗计数器IWDG->KR = IWDG____KEY____ENABLE; //使能看门狗} // ===========================================================================// 函数名称:wdog____feed// 函数参数:无// 函数返回:无// 功能概要: 喂狗,重载计时器// ===========================================================================void wdog____feed(void){ (1)补充代码 //重装载看门狗计数器} void wdog____stop(void){} #define GLOBLE____VAR#include "includes.h" //包含总头文件 //----------------------------------------------------------------------//声明使用到的内部函数//main.c使用的内部函数声明处 //----------------------------------------------------------------------//主函数,一般情况下可以认为程序从此开始运行(实际上有启动过程,参见书稿)int main(void){//(1)======启动部分(开头)==========================================//(1.1)声明main函数使用的局部变量uint32____t mMainLoopCount; //主循环次数变量 //(1.2)【不变】关总中断DISABLE____INTERRUPTS; //(1.3)给主函数使用的局部变量赋初值 mMainLoopCount=0; //主循环次数变量 //(1.4)给全局变量赋初值 //(1.5)用户外设模块初始化gpio____init(LIGHT____BLUE,GPIO____OUTPUT,LIGHT____ON); //初始化蓝灯 emuart____init(UART____User,115200);//(1.6)使能模块中断 (2)补充代码 //(1.7)【不变】开总中断ENABLE____INTERRUPTS; printf("启动独立看门狗\n");printf("设置看门狗复位时间\n"); (3)补充代码 //启动看门狗,复位定时为2S //(1)======启动部分(结尾)========================================== //(2)======主循环部分(开头)========================================for(;;) //for(;;)(开头){//(2.1)主循环次数变量+1 mMainLoopCount++;//(2.2)未达到主循环次数设定值,继续循环if (mMainLoopCount<=2000000) continue;//(2.3)达到主循环次数设定值,执行下列语句,进行灯的亮暗处理//(2.3.1)清除循环次数变量mMainLoopCount=0; //(2.3.2)喂狗,灯切换状态 (3)补充代码 //喂狗gpio____reverse(LIGHT____BLUE); //灯状态切换printf("主程序循环中\n");} //for(;;)结尾//(2)======主循环部分(结尾)========================================} //main函数(结尾)

嵌入式应用技术课程封面

学科:嵌入式应用技术

时间:2023-12-18 13:11:17

Copyright © 2022 津ICP备2021001502号