Advertisement
Guest User

Cypress1

a guest
Nov 20th, 2015
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. CY_ISR(Wdt_ISR){
  2.    uint32 intSource = CySysWdtGetInterruptSource();
  3.    if((intSource & CY_SYS_WDT_COUNTER0_INT) == CY_SYS_WDT_COUNTER0_INT)
  4.     {
  5.          if(wdtIsrCount == 0)
  6.         {
  7.             CySysWdtClearInterrupt(CY_SYS_WDT_COUNTER0_INT);
  8.         }
  9.         else
  10.         {        
  11.             Wdt_ISR_Stop();
  12.             GLED_Write(1u);
  13.         }
  14.         wdtIsrCount++;
  15.     }
  16. }
  17.  
  18. void ClearWdt(void){
  19.     wdtIsrCount = 0;
  20.     CySysWdtUnlock();
  21.     CySysWdtResetCounters(CY_SYS_WDT_COUNTER0_RESET);
  22.     CyDelayUs(150);
  23.     CySysWdtLock();
  24. }
  25.  
  26. void StartWdt(uint16 time){
  27.     Wdt_ISR_StartEx(Wdt_ISR);
  28.     CySysWdtUnlock();
  29.     CyDelayUs(10);
  30.     sec = ( uint16 ) (time * (65535.0/2000.0));
  31.     CySysWdtSetMatch(CY_SYS_WDT_COUNTER0,sec);
  32.     CySysWdtSetMode(CY_SYS_WDT_COUNTER0, CY_SYS_WDT_MODE_RESET); //CY_SYS_WDT_MODE_RESET
  33.     CySysWdtSetClearOnMatch(CY_SYS_WDT_COUNTER0,1u);
  34.     CyDelayUs(10);
  35.     CySysWdtEnable(CY_SYS_WDT_COUNTER0_MASK);
  36.     CyDelayUs(10);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement