一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【英飛凌開(kāi)發(fā)板模塊評(píng)測(cè)任務(wù)大挑戰(zhàn)】看門(mén)狗外事使用

冬至子 ? 來(lái)源:chejia12 ? 作者:chejia12 ? 2023-08-11 17:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

3.看門(mén)狗的使用

這里依然使用mdk的看法環(huán)境,使用mdk編譯程序,下載程序

3.1使能看門(mén)狗的驅(qū)動(dòng)

1.jpg

3.2看門(mén)狗測(cè)試函數(shù)

/*
程序在空閑鉤子函數(shù)內(nèi)部喂狗操作,如果不喂狗mcu將在5S后自動(dòng)復(fù)位重啟
/
#include
#include
#define WDT_DEVICE_NAME "wdt" /
看門(mén)狗設(shè)備名稱(chēng) /
static rt_device_t wdg_dev; /
看門(mén)狗設(shè)備句柄 /
static void idle_hook(void)
{
/
在空閑線(xiàn)程的回調(diào)函數(shù)里喂狗 如果不喂狗設(shè)備將重啟*/
// rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, NULL);
// rt_kprintf("feed the dog!n ");
}
/ 看門(mén)狗測(cè)試 /
int wdt_sample(void)
{
rt_err_t ret = RT_EOK;
rt_uint32_t timeout = 5; /* 溢出時(shí)間,單位:秒 /
/
根據(jù)設(shè)備名稱(chēng)查找看門(mén)狗設(shè)備,獲取設(shè)備句柄 /
wdg_dev = rt_device_find(WDT_DEVICE_NAME);
if (!wdg_dev)
{
rt_kprintf("find %s failed!n", WDT_DEVICE_NAME);
return RT_ERROR;
}
/
初始化設(shè)備 /
rt_device_init(wdg_dev);
/
設(shè)置看門(mén)狗溢出時(shí)間 /
ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_SET_TIMEOUT, &timeout);
if (ret != RT_EOK)
{
rt_kprintf("set %s timeout failed!n", WDT_DEVICE_NAME);
return RT_ERROR;
}
/
啟動(dòng)看門(mén)狗 /
ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_START, RT_NULL);
if (ret != RT_EOK)
{
rt_kprintf("start %s failed!n", WDT_DEVICE_NAME);
return -RT_ERROR;
}
/
設(shè)置空閑線(xiàn)程回調(diào)函數(shù) /
rt_thread_idle_sethook(idle_hook);
return ret;
}
/
導(dǎo)出到 msh 命令列表中 */
MSH_CMD_EXPORT(wdt_sample, wdt sample);

3.3測(cè)試結(jié)果

1.jpg

3.4看門(mén)狗設(shè)備驅(qū)動(dòng)框架的學(xué)習(xí)

實(shí)現(xiàn)看門(mén)狗的初始化函數(shù)

實(shí)現(xiàn)看門(mén)狗的控制函數(shù),根據(jù)命令類(lèi)型實(shí)現(xiàn)不同的功能

注冊(cè)看門(mén)狗設(shè)備到設(shè)備驅(qū)動(dòng)框架

#ifndef WATCHDOG_H
#define WATCHDOG_H
#include
/ 命令類(lèi)型 合計(jì)6種 /
#define RT_DEVICE_CTRL_WDT_GET_TIMEOUT (RT_DEVICE_CTRL_BASE(WDT) + 1) /* 獲取超時(shí)時(shí)間 get timeout(in seconds) /
#define RT_DEVICE_CTRL_WDT_SET_TIMEOUT (RT_DEVICE_CTRL_BASE(WDT) + 2) /
設(shè)置超時(shí)時(shí)間 set timeout(in seconds) /
#define RT_DEVICE_CTRL_WDT_GET_TIMELEFT (RT_DEVICE_CTRL_BASE(WDT) + 3) /
在重新啟動(dòng)之前獲取剩余時(shí)間 get the left time before reboot(in seconds) /
#define RT_DEVICE_CTRL_WDT_KEEPALIVE (RT_DEVICE_CTRL_BASE(WDT) + 4) /
喂狗 refresh watchdog /
#define RT_DEVICE_CTRL_WDT_START (RT_DEVICE_CTRL_BASE(WDT) + 5) /
開(kāi)啟看門(mén)狗 start watchdog /
#define RT_DEVICE_CTRL_WDT_STOP (RT_DEVICE_CTRL_BASE(WDT) + 6) /
關(guān)閉看門(mén)狗 stop watchdog */
struct rt_watchdog_ops;
struct rt_watchdog_device
{
struct rt_device parent;/ 父類(lèi)基本的設(shè)別操作框架 /
const struct rt_watchdog_ops ops;/看門(mén)狗獨(dú)有的操作函數(shù) /
};
typedef struct rt_watchdog_device rt_watchdog_t;
/*看門(mén)狗操作函數(shù)

  1. 看門(mén)狗初始化函數(shù)
  2. 看門(mén)狗控制函數(shù),根據(jù) 函數(shù)cmd 的類(lèi)型控制看門(mén)狗
    */
    struct rt_watchdog_ops
    {
    rt_err_t (*init)(rt_watchdog_t *wdt);//初始化函數(shù)
    rt_err_t (*control)(rt_watchdog_t *wdt, int cmd, void *arg);//看門(mén)狗控制函數(shù)
    };
    / 看門(mén)狗外設(shè)設(shè)備注冊(cè)函數(shù) /
    rt_err_t rt_hw_watchdog_register(rt_watchdog_t *wdt,
    const char *name,
    rt_uint32_t flag,
    void data);
    #endif /
    WATCHDOG_H */
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    54

    文章

    8695

    瀏覽量

    149936
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17105

    瀏覽量

    184261
  • 看門(mén)狗
    +關(guān)注

    關(guān)注

    10

    文章

    583

    瀏覽量

    71798
  • CMD命令
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    8565
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1409

    瀏覽量

    41944
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32中的獨(dú)立看門(mén)狗和窗口看門(mén)狗是什么

    在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類(lèi):獨(dú)立看門(mén)狗
    的頭像 發(fā)表于 02-20 17:47 ?3442次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>是什么

    什么是看門(mén)狗電路

    看門(mén)狗電路 看門(mén)狗電路一般有軟件看門(mén)狗和硬件看門(mén)狗兩種。軟件看門(mén)狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,這在許多系統(tǒng)中很
    發(fā)表于 10-21 01:40 ?8503次閱讀

    stm32看門(mén)狗時(shí)間計(jì)算 獨(dú)立看門(mén)狗和窗口看門(mén)狗的特性是什么

    本文為您講解STM看門(mén)狗時(shí)間計(jì)算(時(shí)限)與頻率計(jì)算,獨(dú)立看門(mén)狗和窗口看門(mén)狗的特性、區(qū)別與聯(lián)系。
    發(fā)表于 10-10 10:41 ?9010次閱讀

    什么是stm32看門(mén)狗?獨(dú)立看門(mén)狗和窗口看門(mén)狗工作原理解析

    stm32有兩個(gè)看門(mén)狗,獨(dú)立看門(mén)狗和窗口看門(mén)狗,其實(shí)兩者的功能是類(lèi)似的,只是喂狗的限制時(shí)間不同。 獨(dú)立看門(mén)狗
    的頭像 發(fā)表于 11-06 11:48 ?2.8w次閱讀
    什么是stm32<b class='flag-5'>看門(mén)狗</b>?獨(dú)立<b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>工作原理解析

    STM32看門(mén)狗配置(獨(dú)立看門(mén)狗IWDG和窗口看門(mén)狗WWDG)

    stm32自帶兩個(gè)看門(mén)狗模塊,獨(dú)立看門(mén)狗IWDG和窗口看門(mén)狗WWDG。看門(mén)狗主要作用是可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定
    發(fā)表于 11-09 17:17 ?8591次閱讀
    STM32<b class='flag-5'>看門(mén)狗</b>配置(獨(dú)立<b class='flag-5'>看門(mén)狗</b>IWDG和窗口<b class='flag-5'>看門(mén)狗</b>WWDG)

    uC/OS-II 系統(tǒng)的多任務(wù)看門(mén)狗設(shè)計(jì)

    在嵌入式系統(tǒng)中為提高微型機(jī)系統(tǒng)的可靠性和安全性, 常用的方法就是使用看門(mén)狗。看門(mén)狗分硬件看門(mén)狗和軟件看門(mén)狗。硬件看門(mén)狗采用
    發(fā)表于 11-30 06:39 ?811次閱讀

    基于STM32、FreeRTOS 實(shí)現(xiàn)硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的方法

    基于STM32、FreeRTOS實(shí)現(xiàn)硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的方法
    的頭像 發(fā)表于 03-12 10:11 ?1w次閱讀

    MCU獨(dú)立看門(mén)狗與窗口看門(mén)狗的區(qū)別

    早期的MCU沒(méi)有看門(mén)狗,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問(wèn)題,后期的MCU在內(nèi)部集成了看門(mén)狗的功能。為了滿(mǎn)足更多使用場(chǎng)景,現(xiàn)在很多MCU都集成了兩個(gè)看門(mén)狗:獨(dú)立看門(mén)狗
    發(fā)表于 10-28 20:06 ?8次下載
    MCU獨(dú)立<b class='flag-5'>看門(mén)狗</b>與窗口<b class='flag-5'>看門(mén)狗</b>的區(qū)別

    STM32:獨(dú)立看門(mén)狗、窗口看門(mén)狗的配置

    STM32單片機(jī)的看門(mén)狗有獨(dú)立看門(mén)狗和窗口看門(mén)狗之分,這兩者的工作原理卻完全不同。
    發(fā)表于 02-08 16:15 ?18次下載
    STM32:獨(dú)立<b class='flag-5'>看門(mén)狗</b>、窗口<b class='flag-5'>看門(mén)狗</b>的配置

    FreeRTOS使用看門(mén)狗的步驟

    看管后,看門(mén)狗會(huì)不斷的觀(guān)察任務(wù),如果任務(wù)不在指定時(shí)間內(nèi)喂狗。那么,定時(shí)器到0,然后慌了,ESP32 就自動(dòng)重啟。注意模擬器沒(méi)有實(shí)現(xiàn)看門(mén)狗
    的頭像 發(fā)表于 09-13 15:42 ?5706次閱讀

    STM32中的獨(dú)立看門(mén)狗和窗口看門(mén)狗

    一、前言 在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類(lèi):獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?2563次閱讀

    STM32中的獨(dú)立看門(mén)狗和窗口看門(mén)狗

    在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類(lèi):獨(dú)立看門(mén)狗
    的頭像 發(fā)表于 01-30 14:38 ?1763次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>

    英飛凌開(kāi)發(fā)板模塊評(píng)測(cè)任務(wù)挑戰(zhàn)

    ?RT-Thread 官方特聯(lián)合合作伙伴發(fā)起開(kāi)發(fā)板評(píng)測(cè)任務(wù)挑戰(zhàn)活動(dòng),讓開(kāi)發(fā)者小伙伴們互相協(xié)作,對(duì)開(kāi)發(fā)板
    的頭像 發(fā)表于 04-11 09:05 ?1186次閱讀

    什么是看門(mén)狗,工業(yè)路由器看門(mén)狗技術(shù)的功能優(yōu)勢(shì)

    一個(gè)輸入和一個(gè)輸出,其中輸入叫做喂狗,輸出一般連接到另外一個(gè)部分的復(fù)位端。看門(mén)狗技術(shù)的核心硬件是看門(mén)狗模塊,分為硬件看門(mén)狗和軟件看門(mén)狗。▍
    的頭像 發(fā)表于 03-27 10:16 ?2439次閱讀
    什么是<b class='flag-5'>看門(mén)狗</b>,工業(yè)路由器<b class='flag-5'>看門(mén)狗</b>技術(shù)的功能優(yōu)勢(shì)

    MCU硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的思路

    MCU硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的思路
    的頭像 發(fā)表于 10-24 15:25 ?2144次閱讀
    MCU硬件<b class='flag-5'>看門(mén)狗</b>+軟件<b class='flag-5'>看門(mén)狗</b>監(jiān)測(cè)多<b class='flag-5'>任務(wù)</b>的思路