女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

W55MH32高性能以太網單片機教程 第九章 窗口看門狗(WWDG)

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-27 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機

W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數據處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發緩存,可供8個獨立硬件socket使用。如此配置,真正實現了All-in-One解決方案,為開發者提供極大便利。

在封裝規格上,W55MH32 提供了兩種選擇:QFN68和QFN100。

W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、3個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN以及1個USB2.0。在保持與同系列其他版本一致的核心性能基礎上,僅減少了部分GPIO以及SDIO接口,其他參數保持一致,性價比優勢顯著,尤其適合網關模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設配置,使其能夠在有限空間內實現高效的網絡連接與數據交互,成為物聯網網關、邊緣計算節點等緊湊型設備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設資源,適用于需要多接口擴展的復雜工控場景,軟件使用方法一致。

此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網絡通信安全再添保障。

為助力開發者快速上手與深入開發,基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發板。開發板集成WIZ-Link芯片,借助一根USB C口數據線,就能輕松實現調試、下載以及串口打印日志等功能。開發板將所有外設全部引出,拓展功能也大幅提升,便于開發者全面評估芯片性能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第九章 窗口看門狗(WWDG)

本章分為如下幾個小節:

1 IWDG 簡介

2 IWDG 寄存器描述

3 程序設計

4 下載驗證

1 WWDG簡介

窗口看門狗通常被用來監測,由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。除非遞減計數器的值在 T6 位變成 0 前被刷新,看門狗電路在達到預置的時間周期時,會產生一個 MCU 復位。在遞減計數器達到窗口寄存器數值之前,如果 7 位的遞減計數器數值(在控制寄存器中)被刷新,那么也將產生一個 MCU 復位。這表明遞減計數器需要在一個有限的時間窗口中被刷新。

1.1 WWDG主要特性

?編程的自由運行遞減計數器

?條件復位

······當遞減計數器的值小于 0x40,(若看門狗被啟動)則產生復位。

······當遞減計數器在窗口外被重新裝載,(若看門狗被啟動)則產生復位。

?如果啟動了看門狗并且允許中斷,當遞減計數器等于 0x40 時產生早期喚醒中斷(EWI),它可以被用于重裝載計數器以避免 WWDG 復位。

1.2 WWDG功能描述

如果看門狗被啟動(WWDG_CR 寄存器中的 WDGA 位被置'1'),并且當 7 位(T[6:0])遞減計數器從0x40 翻轉到 0x3F(T6 位清零)時,則產生一個復位。如果軟件在計數器值大于窗口寄存器中的數值時重新裝載計數器,將產生一個復位。

wKgZO2g1ISKAKVoFAAD8_CqnjIs928.png

看門狗框圖

應用程序在正常運行過程中必須定期地寫入 WWDG_CR 寄存器以防止 MCU 發生復位。只有當計數器值小于窗口寄存器的值時,才能進行寫操作。儲存在 WWDG_CR 寄存器中的數值必須在 0xFF 和0xC0 之間:

  • ?啟動看門狗

在系統復位后,看門狗總是處于關閉狀態,設置 WWDG_CR 寄存器的 WDGA 位能夠開啟看門狗,隨后它不能再被關閉,除非發生復位。

  • ?控制遞減計數器

遞減計數器處于自由運行狀態,即使看門狗被禁止,遞減計數器仍繼續遞減計數。當看門狗被啟用時,T6 位必須被設置,以防止立即產生一個復位。T[5:0]位包含了看門狗產生復位之前的計時數目;復位前的延時時間在一個最小值和一個最大值之間變化,這是因為寫入 WWDG_CR 寄存器時,預分頻值是未知的。配置寄存器(WWDG_CFR)中包含窗口的上限值:要避免產生復位,遞減計數器必須在其值小于窗口寄存器的數值并且大于 0x3F 時被重新裝載,0 描述了窗口寄存器的工作過程。另一個重裝載計數器的方法是利用早期喚醒中斷(EWI)。設置 WWDG_CFR 寄存器中的 WEI 位開啟該中斷。當遞減計數器到達 0x40 時,則產生此中斷,相應的中斷服務程序(ISR)可以用 來加載計數器以防止 WWDG 復位。在 WWDG_SR 寄存器中寫'0'可以清除該中斷。

注: 可以用 T6 位產生一個軟件復位(設置 WDGA 位為'1',T6 位為'0')。

1.3 如何編寫看門狗超時程序

可以使用 0 提供的公式計算窗口看門狗的超時時間。

警告:當寫入 WWDG_CR 寄存器時,始終置 T6 位為'1'以避免立即產生一個復位。

wKgZO2g1ISKAenIkAAE-6DJxv-I612.png

窗口看門狗時序圖

1.4 調試模式

微控制器進入調試模式時(Cortex-M3 核心停止),根據調試模塊中的 DBG_WWDG_STOP 配置位的狀態,WWDG 的計數器能夠繼續工作或停止。

2 寄存器描述

可以用半字(16 位)或字(32 位)的方式操作這些外設寄存器。

2.1 控制寄存器(WWDG_CR)

地址偏移量:0x00

復位值:0x0000 007F

wKgZPGg1ISKAWZQnAAHxxdaJpw4363.png

2.2 配置寄存器(WWDG_CFR)

地址偏移量:0x04

復位值:0x0000 007F

wKgZPGg1ISKAJFM4AAI1PiEz6E4168.png

2.3 狀態寄存器(WWDG_SR)

地址偏移量:0x08

復位值:0x0000 0000

wKgZO2g1ISKAenIkAAE-6DJxv-I612.png

2.4 WWDG寄存器映像

WWDG 寄存器映像和復位值

wKgZPGg1ISKAW9GeAAD5qGe_jYE403.png

3 程序設計

3.1 WWDG_Int例程

這段代碼是基于 W55MH32 微控制器編寫的,主要用于演示窗口看門狗(WWDG)的中斷喂狗功能。窗口看門狗是一種特殊的看門狗,它有一個上窗口值和下窗口值,只有在計數器的值處于這兩個窗口值之間時喂狗才有效。該程序通過配置窗口看門狗和中斷,在窗口看門狗產生中斷時進行喂狗操作,以防止系統復位。

1. 系統啟動階段

系統上電或復位后,程序開始執行。首先會初始化各種外設和窗口看門狗,然后通過串口輸出系統時鐘頻率信息和提示信息。

2.正常運行階段

// 窗口看門狗配置(在main函數中)
WWDG_SetPrescaler(WWDG_Prescaler_8);      // 設置預分頻值
WWDG_SetWindowValue(0x5F);                // 設置窗口上限值
WWDG_Enable(0x7f);                        // 使能看門狗并設置初始值

// 中斷配置
WWDG_ClearFlag();                         // 清除早期喚醒中斷標志
NVIC_Configuration();                     // 配置NVIC中斷優先級
WWDG_EnableIT();                          // 使能窗口看門狗中斷

// 窗口看門狗中斷處理函數
void WWDG_IRQHandler(void)
{
    WWDG_SetCounter(0x7f);                // 重置計數器值為0x7F(喂狗操作)
    WWDG_ClearFlag();                     // 清除中斷標志
    printf("[WWDG] Feed dog! Counter reset to 0x7Fn"); 
}

窗口看門狗開始工作,計數器從初始值 0x7F 開始遞減。

當計數器的值遞減到窗口值 0x5F 時,會觸發窗口看門狗中斷,進入中斷處理函數WWDG_IRQHandler()。

在中斷處理函數中,計數器被重置為 0x7F,中斷標志位被清除,然后繼續正常運行。

只要中斷處理函數能夠及時響應并進行喂狗操作,系統將不會因為窗口看門狗超時而復位,會一直保持正常運行狀態。

3. 異常情況

如果由于某種原因(如中斷處理函數被阻塞、系統死機等)導致中斷處理函數不能及時響應,計數器會繼續遞減到 0,此時窗口看門狗會產生復位信號,使系統重新啟動,再次輸出系統時鐘頻率信息和提示信息。

3.1.1 下載驗證

在燒錄完成后,串口會輸出系統時鐘頻率信息及“WWDG Int Test.”和“Interrupt Feed Dog”提示,窗口看門狗會周期性觸發中斷,在中斷處理函數中重新設置計數器和清除標志以防止系統復位,而主函數進入無限循環,無其他明顯現象。

wKgZO2g1ISKADTZdAAG4Fehnx-U342.png

3.2 WWDG_Reset例程

此程序是基于 W55MH32 單片機開發的,其主要目的是開展窗口看門狗(WWDG)的復位測試,同時配置了串口通信用于輸出系統信息。

1.主函數main()

RCC_ClocksTypeDef clocks;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
    delay_init();
    UART_Configuration(115200);
    RCC_GetClocksFreq(&clocks);

    printf("n");
    printf("SYSCLK: %3.1fMhz, HCLK: %3.1fMhz, PCLK1: %3.1fMhz, PCLK2: %3.1fMhz, ADCCLK: %3.1fMhzn",
           (float)clocks.SYSCLK_Frequency / 1000000, (float)clocks.HCLK_Frequency / 1000000,
           (float)clocks.PCLK1_Frequency / 1000000, (float)clocks.PCLK2_Frequency / 1000000, (float)clocks.ADCCLK_Frequency / 1000000);

    printf("WWDG Reset Test.n");

    WWDG_SetPrescaler(WWDG_Prescaler_8);
    WWDG_SetWindowValue(0x5F);
    WWDG_Enable(0x7f);

定義了RCC_ClocksTypeDef類型的變量clocks,用于存儲系統時鐘頻率信息。

使能窗口看門狗(WWDG)的時鐘。

調用delay_init函數進行延時初始化。

調用UART_Configuration()函數,以 115200 的波特率配置串口。

獲取系統時鐘頻率,并通過printf函數將系統時鐘頻率信息打印輸出。

打印 “WWDG Reset Test.” 信息。

對窗口看門狗進行配置,設置預分頻器和窗口值,然后使能窗口看門狗。

進入無限循環。

2. 串口配置函數UART_Configuration()

定義了GPIO_InitTypeDef和USART_InitTypeDef類型的結構體變量。

使能USART1和GPIOA的時鐘。

對GPIOA的引腳 9 進行配置,使其作為USART1的發送引腳(復用推挽輸出)。

對GPIOA的引腳 10 進行配置,使其作為USART1的接收引腳(浮空輸入)。

對USART1進行配置,設置波特率、數據位、停止位、校驗位、硬件流控制和工作模式。

使能USART1。

3. 獲取串口數據函數GetCmd()

定義了一個無符號 8 位整型變量tmp。

檢查USART1的接收緩沖區是否非空,如果非空則讀取接收到的數據并賦值給tmp。

返回接收到的數據。

uint8_t GetCmd(void)
{
    uint8_t tmp = 0;

    if (USART_GetFlagStatus(USART1, USART_FLAG_RXNE))
    {
        tmp = USART_ReceiveData(USART1);
    }
    return tmp;
}

4. 串口發送字符函數SER_PutChar()

等待USART_TEST的發送完成標志位被置位。

發送一個字符到USART_TEST。

返回發送的字符。

5. 標準輸出重定向函數fputc()

若要輸出的字符是換行符n,則先發送回車符r。

調用SER_PutChar函數發送字符。

返回發送的字符。

3.2.1 下載驗證

1. 正常下載情況

?串口輸出信息:程序下載到單片機后,若一切正常,通過串口調試助手可以看到系統時鐘信息以及 WWDG Reset Test. 提示信息。

?窗口看門狗復位:由于程序中沒有對窗口看門狗進行喂狗操作,窗口看門狗計數器會不斷遞減。當計數器值減到 0x3F 以下時,單片機就會復位,然后重新開始執行程序,串口會再次輸出系統時鐘信息和提示信息。

wKgZO2g1ISKAJ35jAAG4Fehnx-U322.png


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6067

    文章

    44969

    瀏覽量

    649180
  • 以太網
    +關注

    關注

    40

    文章

    5619

    瀏覽量

    175454
  • 看門狗
    +關注

    關注

    10

    文章

    582

    瀏覽量

    71701
  • WWDG
    +關注

    關注

    0

    文章

    21

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    第二十四章 WWDG——窗口看門狗

    W55MH32窗口看門狗是7位遞減計數器,有上下窗口值,時鐘來自PCLK1用于監測軟件故障,代碼演示了其配置、中斷測試與復位測試。
    的頭像 發表于 06-20 14:00 ?506次閱讀
    第二十四章 <b class='flag-5'>WWDG</b>——<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>

    STM32的內置看門狗WWDG-窗口看門狗CubeMX操作步驟

    WWDG中斷)5) 編寫中斷服務函數6) 重寫窗口看門狗喚醒中斷處理回調函數 HAL_WWDG_WakeupCallback結果看門狗在由
    發表于 07-30 07:33

    淺析窗口看門狗WWDG

    1.窗口看門狗WWDG):通常被用來監測由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。2.窗口看門狗
    發表于 08-02 10:41

    低頻功率放大電路 第九章

    低頻功率放大電路 第九章 本章要點:    功放的特點與分類    OCL電路
    發表于 04-18 14:29 ?0次下載

    STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG

    stm32自帶兩個看門狗模塊,獨立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測
    發表于 11-09 17:17 ?8582次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨立<b class='flag-5'>看門狗</b>IWDG和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b><b class='flag-5'>WWDG</b>)

    TB3123 - PIC?單片機窗口看門狗定時器

    窗口看門狗定時器(Windowed Watchdog Timer,WWDT)是PIC單片機的增強型看門狗定時器。該定時器是PIC單片機現有
    發表于 03-26 14:35 ?0次下載
    TB3123 - PIC?<b class='flag-5'>單片機</b>的<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>定時器

    STM32有兩個看門狗,獨立看門狗窗口看門狗

    窗口看門狗的上窗口就是配置寄存器WWDG->CFR里設定的W[6:0];下窗口是固定的0x40;
    的頭像 發表于 06-15 09:02 ?5066次閱讀
    STM32有兩個<b class='flag-5'>看門狗</b>,獨立<b class='flag-5'>看門狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>

    【MCU】基于STM32CubeMX 實現窗口看門狗 WWDG

    基于STM32CubeMX 實現窗口看門狗 WWDG第一部分 基礎理論基礎理論部分主要參考 STM32F10X 參考手冊1. WWDG 簡介(1)W
    發表于 11-01 16:24 ?10次下載
    【MCU】基于STM32CubeMX 實現<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b> <b class='flag-5'>WWDG</b>

    STM32:獨立看門狗、窗口看門狗的配置

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

    STM32窗口看門狗(WWDG)開源

    電子發燒友網站提供《STM32窗口看門狗(WWDG)開源.zip》資料免費下載
    發表于 11-14 09:26 ?29次下載
    STM32<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>(<b class='flag-5'>WWDG</b>)開源

    第九章 數模和模數轉換

    電子發燒友網站提供《第九章 數模和模數轉換.ppt》資料免費下載
    發表于 11-18 09:14 ?0次下載
    <b class='flag-5'>第九章</b> 數模和模數轉換

    WIZnet高性能以太網單片機W55MH32重磅發布!

    WIZnet高性能以太網單片機W55MH32重磅發布!本文詳細解析了W55MH32芯片的高性能網絡處理能力與硬件資源,以及兩款開發板(L/Q
    的頭像 發表于 05-07 16:17 ?315次閱讀
    WIZnet<b class='flag-5'>高性能以太網</b><b class='flag-5'>單片機</b><b class='flag-5'>W55MH32</b>重磅發布!

    即刻啟程,踏上W55MH32高性能以太網單片機學習之路!

    即刻啟程,踏上W55MH32高性能以太網單片機學習之路!即刻開啟W55MH32學習之旅!本教系列程配套官方手冊與W55MH32L開發板,從外
    的頭像 發表于 05-07 18:51 ?306次閱讀
    即刻啟程,踏上<b class='flag-5'>W55MH32</b><b class='flag-5'>高性能以太網</b><b class='flag-5'>單片機</b>學習之路!

    第一 W55MH32 高性能以太網單片機的學習方法概述

    本章介紹W55MH32的學習方法,建議先了解硬件資源,按基礎篇、入門篇循序漸進學習。參考兩份手冊,提供例程資料,還給出官、github 等學習資料查找渠道。讓我們一起踏上W55MH32高性能
    的頭像 發表于 05-26 09:07 ?37次閱讀
    第一<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> <b class='flag-5'>高性能以太網</b><b class='flag-5'>單片機</b>的學習方法概述

    W55MH32高性能以太網單片機開發課件 第十四章 ADC(上篇)

    本章介紹了W55MH32的12位ADC(上篇),其有18通道,支持單次、連續等轉換模式,具有自校準、模擬看門狗等功能。還含ADC_AnalogWatchdog 例程,可監測電壓超閾值并觸發中斷。
    的頭像 發表于 05-28 13:52 ?106次閱讀
    <b class='flag-5'>W55MH32</b><b class='flag-5'>高性能以太網</b><b class='flag-5'>單片機</b>開發課件 第十四章 ADC(上篇)
    主站蜘蛛池模板: 平湖市| 鸡泽县| 灵川县| 临西县| 邓州市| 古蔺县| 辉县市| 盐津县| 阿拉善右旗| 克东县| 吉水县| 金川县| 靖边县| 阿图什市| 随州市| 青川县| 米易县| 云龙县| 天气| 阿拉善盟| 广昌县| 蓬安县| 泸西县| 女性| 新绛县| 福建省| 惠安县| 汶上县| 孟州市| 临沭县| 青州市| 南城县| 北辰区| 图木舒克市| 崇州市| 临澧县| 宜都市| 南城县| 宜兰县| 丹寨县| 伊川县|