<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LPC1768  RITtimer code.bundle example bugs in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519701#M3301</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by solsal on Thu Aug 30 07:30:14 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;RI Mask register (RIMASK - 0x400B 0004)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;mask register definition&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;page 501:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Table 435. RI Compare Value register (RICOMPVAL - address 0x400B 0004) bit description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bit Symbol Description Reset value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;31:0 RIMASK Mask register. This register holds the 32-bit mask value. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A ‘1’ written to any bit will force a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;compare on the corresponding bit of the counter and compare register.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;====================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;page 502:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but : writing ‘1’ to the bits , will remove(mask) that bit from comparison.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:40:10 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:40:10Z</dc:date>
    <item>
      <title>LPC1768  RITtimer code.bundle example bugs</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519700#M3300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by solsal on Thu Aug 30 07:11:07 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;please refer to UM10360 page:502:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"""""""""""""""""""""""""""""""""""""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Table 436. RI Control register (RICTRL - address 0x400B 0008) bit description&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bit&amp;nbsp;&amp;nbsp; Symbol&amp;nbsp;&amp;nbsp;&amp;nbsp; Value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Resetvalue&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RITINT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interruptflag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This bit is set to 1 by hardware whenever the counter value equals the masked&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compare value specified by the contents of RICOMPVAL and RIMASK registers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Writing a 1 to this bit will clear it to 0. Writing a 0 has no effect.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The counter value does not equal the masked compare value.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;========================================================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RITENCLR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer enable clear&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The timer will be cleared to 0 whenever the counter value equals the masked compare&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value specified by the contents of RICOMPVAL and RIMASK registers. This will occur&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on the same clock that sets the interrupt flag.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The timer will not be cleared to 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;========================================================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RITENBR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer enable for debug&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The timer is halted when the processor is halted for debugging.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug has no effect on the timer operation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;========================================================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RITEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer enable.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer enabled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Remark: This can be overruled by a debug halt if enabled in bit 2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer disabled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;========================================================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;31:4 - - Reserved, user software should not write ones to reserved bits. The value read from a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;reserved bit is not defined.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"""""""""""""""""""""""""""""""""""""&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;as you see :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the bit0 = RITINT&amp;nbsp;&amp;nbsp; = Interruptflag&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the bit1 = RITENCLR = Timer enable clear &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the bit2 = RITENBR&amp;nbsp; = Timer enable for debug&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the bit3 = RITEN&amp;nbsp;&amp;nbsp;&amp;nbsp; = Timer enable. ......................... this is the enable/disable bit for RIT&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but in RIT example from code.bundle.2 , they are using wrong bits fro enable the timer !!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and surprisingly the timer is working !!! because it is enabled in reset , not by this codes!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;this code need to be changed to correct codes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;RITtimer.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/****************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp; $Id:: RITtimer.c 5739 2010-11-30 22:34:36Z usb00423&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp; Project: NXP LPC17xx RIT Timer example&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp; Description:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This file contains RIT Timer code example which include RIT &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initialization, RIT interrupt handler, and APIs for RIT Timer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ****************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Software that is described herein is for illustrative purposes only&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * which provides customers with programming information regarding the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * products. This software is supplied "AS IS" without any warranties.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * NXP Semiconductors assumes no responsibility or liability for the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * use of the software, conveys no license or title under any patent,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * copyright, or mask work right to the product. NXP Semiconductors&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * reserves the right to make changes in the software without&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * notification. NXP Semiconductors also make no representation or&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * warranty that such application will be suitable for the specified&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * use without further testing or modification.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;****************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "lpc17xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "type.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "rittimer.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;volatile uint32_t rit_timer_counter = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:RIT_IRQHandler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:RIT timer interrupt handler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void RIT_IRQHandler (void) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICTRL |= (0x1&amp;lt;&amp;lt;0);/* clear interrupt flag */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; rit_timer_counter++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:enable_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:Enable RIT timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void enable_rit_timer( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICTRL |= ((0x1&amp;lt;&amp;lt;0)|(0x1&amp;lt;&amp;lt;1));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:disable_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:Disable RIT timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void disable_rit_timer( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICTRL &amp;amp;= ~((0x1&amp;lt;&amp;lt;0)|(0x1&amp;lt;&amp;lt;1));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:reset_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:Reset RIT timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void reset_rit_timer( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICTRL |= (0x1&amp;lt;&amp;lt;1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:init_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:Initialize timer, set timer interval, reset timer,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**install timer interrupt handler&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:timer interval&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void init_rit_timer ( uint32_t TimerInterval ) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PCONP |= (1 &amp;lt;&amp;lt; 16);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; disable_rit_timer();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; rit_timer_counter = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICOMPVAL = TimerInterval;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_EnableIRQ(RIT_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Of File&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519700#M3300</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:09Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1768  RITtimer code.bundle example bugs</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519701#M3301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by solsal on Thu Aug 30 07:30:14 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;RI Mask register (RIMASK - 0x400B 0004)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;mask register definition&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;page 501:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Table 435. RI Compare Value register (RICOMPVAL - address 0x400B 0004) bit description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Bit Symbol Description Reset value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;31:0 RIMASK Mask register. This register holds the 32-bit mask value. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A ‘1’ written to any bit will force a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;compare on the corresponding bit of the counter and compare register.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;====================================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;page 502:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but : writing ‘1’ to the bits , will remove(mask) that bit from comparison.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519701#M3301</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1768  RITtimer code.bundle example bugs</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519702#M3302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by solsal on Thu Aug 30 07:37:26 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;correct codes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enable_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enable RIT timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void enable_rit_timer( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_RIT-&amp;gt;RICTRL |= ((0x1&amp;lt;&amp;lt;0)|(0x1&amp;lt;&amp;lt;1)|(0x1&amp;lt;&amp;lt;3));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Function name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disable_rit_timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Descriptions:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disable RIT timer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** parameters:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;** Returned value:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; None&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;******************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void disable_rit_timer( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // LPC_RIT-&amp;gt;RICTRL &amp;amp;= ~((0x1&amp;lt;&amp;lt;0)|(0x1&amp;lt;&amp;lt;1)|(0x1&amp;lt;&amp;lt;3));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_RIT-&amp;gt;RICTRL = ( LPC_RIT-&amp;gt;RICTRL &amp;amp; (~((0x1&amp;lt;&amp;lt;1)|(0x1&amp;lt;&amp;lt;3))) ) | (0x1&amp;lt;&amp;lt;0) ; // remove possibly interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1768-RITtimer-code-bundle-example-bugs/m-p/519702#M3302</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:10Z</dc:date>
    </item>
  </channel>
</rss>

