加入收藏
举报
02-14 20:02
#0
文件名称:
WATCHDOG.md
所在目录:
Openharmony v1.0 / docs / api / api-SmartVision-Devices
文件大小:
21.02 KB
下载地址:
fenwii/OpenHarmony
   
免责声明:本网站仅提供指向 GitHub 上的文件的链接,所有文件的版权归原作者所有,本网站不对文件内容的合法性、准确性或安全性承担任何责任。
文本预览:
# WATCHDOG
## **Overview**
Provides watchdog APIs, such as setting the watchdog timeout duration and feeding a watchdog \(resetting a watchdog timer\).
If an error occurs in the main program of the system, for example, if the program crashes or the watchdog timer is not reset in time, the watchdog timer generates a reset signal, and the system restores from the suspending state to the normal state.
**Since:**
1.0
## **Summary**
## Files









File Name


Description


watchdog_if.h


Declares standard watchdog APIs.



## Enumerations









Enumeration Name


Description


WatchdogStatus { WATCHDOG_STOP, WATCHDOG_START }


Enumerates watchdog statuses.



## Functions






























Function Name


Description


WatchdogOpen (int16_t wdtId)


struct DevHandle


Opens a watchdog.


WatchdogClose (struct DevHandle *handle)


void 


Closes a watchdog.


WatchdogGetStatus (struct DevHandle *handle, int32_t *status)


int32_t 


Obtains the watchdog status.


WatchdogStart (struct DevHandle *handle)


int32_t 


Starts a watchdog.


WatchdogStop (struct DevHandle *handle)


int32_t 


Stops a watchdog.


WatchdogSetTimeout (struct DevHandle *handle, uint32_t seconds)


int32_t 


Sets the watchdog timeout duration.


WatchdogGetTimeout (struct DevHandle *handle, uint32_t *seconds)


int32_t 


Obtains the watchdog timeout duration.


WatchdogFeed (struct DevHandle *handle)


int32_t 


Feeds a watchdog, that is, resets a watchdog timer.



## **Details**
## **Enumeration Type Documentation**
## WatchdogStatus
```
enum [WatchdogStatus](WATCHDOG.md#ga3c77a35e1051e3f99238029519ac1954)
```
**Description:**
Enumerates watchdog statuses.
To obtain the watchdog status, call the [WatchdogGetStatus](WATCHDOG.md#ga37d1311664523c25557b1280cb51ebdf) function.












Enumerator


Description


WATCHDOG_STOP 

Stopped


WATCHDOG_START 

Started



## **Function Documentation**
## WatchdogClose\(\)
```
void WatchdogClose (struct [DevHandle](DevHandle.md) * handle)
```
**Description:**
Closes a watchdog.
If you no longer need a watchdog, call this function to close it and release its device handle to prevent unnecessary use of memory resources.
**Parameters:**









Name


Description


handle Indicates the pointer to the watchdog device handle.

## WatchdogFeed\(\)
```
int32_t WatchdogFeed (struct [DevHandle](DevHandle.md) * handle)
```
**Description:**
Feeds a watchdog, that is, resets a watchdog timer.
After a watchdog is started, you must feed it to reset the watchdog timer periodically. If you do not do so, the watchdog hardware will reset the system upon a timeout.
**Parameters:**









Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

**Returns:**
Returns **0** if the watchdog is fed; returns a negative value otherwise.
## WatchdogGetStatus\(\)
```
int32_t WatchdogGetStatus (struct [DevHandle](DevHandle.md) * handle, int32_t * status )
```
**Description:**
Obtains the watchdog status.
For the available watchdog statuses, see [WatchdogStatus](WATCHDOG.md#ga3c77a35e1051e3f99238029519ac1954).
**Parameters:**












Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
status Indicates the pointer to the watchdog status.

**Returns:**
Returns **0** if the watchdog status is obtained; returns a negative value otherwise.
## WatchdogGetTimeout\(\)
```
int32_t WatchdogGetTimeout (struct [DevHandle](DevHandle.md) * handle, uint32_t * seconds )
```
**Description:**
Obtains the watchdog timeout duration.
**Parameters:**












Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
seconds Indicates the pointer to the timeout duration, in seconds.

**Returns:**
Returns **0** if the watchdog timeout duration is obtained; returns a negative value otherwise.
## WatchdogOpen\(\)
```
struct [DevHandle](DevHandle.md)* WatchdogOpen (int16_t wdtId)
```
**Description:**
Opens a watchdog.
Before operating a watchdog, you must call this function to open it and obtain its device handle.
**Parameters:**









Name


Description


wdtId Indicates the watchdog ID.

**Returns:**
Returns the pointer to the device handle of the watch dog if the operation is successful; returns **NULL** otherwise.
## WatchdogSetTimeout\(\)
```
int32_t WatchdogSetTimeout (struct [DevHandle](DevHandle.md) * handle, uint32_t seconds )
```
**Description:**
Sets the watchdog timeout duration.
**Parameters:**












Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
seconds Indicates the timeout duration, in seconds.

**Returns:**
Returns **0** if the setting is successful; returns a negative value otherwise.
## WatchdogStart\(\)
```
int32_t WatchdogStart (struct [DevHandle](DevHandle.md) * handle)
```
**Description:**
Starts a watchdog.
This function starts the watchdog timer. You must feed the watchdog periodically; otherwise, the watchdog hardware will reset the system upon a timeout.
**Parameters:**









Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

**Returns:**
Returns **0** if the watchdog is successfully started; returns a negative value otherwise.
**Attention:**
If the watchdog timer has started before this function is called, calling this function will succeed; however, the watchdog hardware determines whether to reset the timer.
## WatchdogStop\(\)
```
int32_t WatchdogStop (struct [DevHandle](DevHandle.md) * handle)
```
**Description:**
Stops a watchdog.
If the watchdog has stopped before this function is called, calling this function will succeed.
**Parameters:**









Name


Description


handle Indicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

**Returns:**
Returns **0** if the watchdog is successfully stopped; returns a negative value otherwise.
点赞 回复
回帖
支持markdown部分语法 ?