Difference between revisions of "Component: PIC32 Core Timer (Timing)"

From Flowcode Help
Jump to navigationJump to search
 
(6 intermediate revisions by the same user not shown)
Line 16: Line 16:
  
 
==Component Source Code==
 
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_TimerComponentPIC32Core.fcfx FC_Comp_Source_TimerComponentPIC32Core.fcfx]
  
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerComponentPIC32Core.fcfx FC_Comp_Source_TimerComponentPIC32Core.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_TimerComponentPIC32Core.fcfx FC_Comp_Source_TimerComponentPIC32Core.fcfx]
Line 39: Line 41:
  
  
''No detailed description exists yet for this component''
 
  
==Examples==
 
  
  
  
  
 +
 +
''No detailed description exists yet for this component''
 +
 +
==Examples==
  
  
Line 62: Line 66:
  
  
''<span style="color:red;">No additional examples</span>''
 
  
  
==Macro reference==
 
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_S'''
 
|-
 
| colspan="2" | A none blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_InstructionCount'''
 
|-
 
| colspan="2" | A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_S'''
 
|-
 
| colspan="2" | A blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Ms'''
 
|-
 
| colspan="2" | A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
 +
''<span style="color:red;">No additional examples</span>''
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Us'''
 
|-
 
| colspan="2" | A none blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ms'''
 
|-
 
| colspan="2" | A blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_InstructionCount'''
 
|-
 
| colspan="2" | A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Ns'''
 
|-
 
| colspan="2" | A none blocking function that allows for accurate delays to be specified in nano seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Us'''
 
|-
 
| colspan="2" | A blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ns'''
 
|-
 
| colspan="2" | A blocking function that allows for accurate delays to be specified in nano seconds using the core timer.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
 
| width="90%" | Delay
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
 +
==Macro reference==
  
 +
===Check_Counter===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 260: Line 105:
  
  
 
+
===Delay_InstructionCount===
 
 
==Property reference==
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|}==Macro reference==
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_S'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_InstructionCount'''
 
|-
 
|-
| colspan="2" | A none blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
+
| colspan="2" | A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 289: Line 124:
  
  
 +
===Delay_Ms===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_InstructionCount'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ms'''
 
|-
 
|-
| colspan="2" | A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
+
| colspan="2" | A blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 307: Line 143:
  
  
 +
===Delay_Ns===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_S'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ns'''
 
|-
 
|-
| colspan="2" | A blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
+
| colspan="2" | A blocking function that allows for accurate delays to be specified in nano seconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 325: Line 162:
  
  
 +
===Delay_S===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Ms'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_S'''
 
|-
 
|-
| colspan="2" | A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
+
| colspan="2" | A blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 343: Line 181:
  
  
 +
===Delay_Us===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Us'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Us'''
 
|-
 
|-
| colspan="2" | A none blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
+
| colspan="2" | A blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 361: Line 200:
  
  
 +
===Start_InstructionCount===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ms'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_InstructionCount'''
 
|-
 
|-
| colspan="2" | A blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
+
| colspan="2" | A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 379: Line 219:
  
  
 +
===Start_Ms===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_InstructionCount'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Ms'''
 
|-
 
|-
| colspan="2" | A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer.&nbsp;
+
| colspan="2" | A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 397: Line 238:
  
  
 +
===Start_Ns===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 415: Line 257:
  
  
 +
===Start_S===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Us'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_S'''
 
|-
 
|-
| colspan="2" | A blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
+
| colspan="2" | A none blocking function that allows for accurate delays to be specified in seconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 433: Line 276:
  
  
 +
===Start_Us===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ns'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Us'''
 
|-
 
|-
| colspan="2" | A blocking function that allows for accurate delays to be specified in nano seconds using the core timer.&nbsp;
+
| colspan="2" | A none blocking function that allows for accurate delays to be specified in micro seconds using the core timer.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 449: Line 293:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Check_Counter'''
 
|-
 
| colspan="2" | Checks to see if the counter time is elapsed. Used in conjunction with the Start_ component macros. Returns 1 if complete or 0 if still counting.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
  
  

Latest revision as of 13:13, 7 February 2023

Author MatrixTSL
Version 1.0
Category Timing


PIC32 Core Timer component

Allows for easy and accurate timings using the built in Core timer on the PIC32 devices.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_TimerComponentPIC32Core.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_TimerComponentPIC32Core.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

Check_Counter

Fc9-comp-macro.png Check_Counter
Checks to see if the counter time is elapsed. Used in conjunction with the Start_ component macros. Returns 1 if complete or 0 if still counting. 
Fc9-bool-icon.png - BOOL Return


Delay_InstructionCount

Fc9-comp-macro.png Delay_InstructionCount
A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Delay_Ms

Fc9-comp-macro.png Delay_Ms
A blocking function that allows for accurate delays to be specified in milliseconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Delay_Ns

Fc9-comp-macro.png Delay_Ns
A blocking function that allows for accurate delays to be specified in nano seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Delay_S

Fc9-comp-macro.png Delay_S
A blocking function that allows for accurate delays to be specified in seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Delay_Us

Fc9-comp-macro.png Delay_Us
A blocking function that allows for accurate delays to be specified in micro seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Start_InstructionCount

Fc9-comp-macro.png Start_InstructionCount
A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Start_Ms

Fc9-comp-macro.png Start_Ms
A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Start_Ns

Fc9-comp-macro.png Start_Ns
A none blocking function that allows for accurate delays to be specified in nano seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Start_S

Fc9-comp-macro.png Start_S
A none blocking function that allows for accurate delays to be specified in seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Start_Us

Fc9-comp-macro.png Start_Us
A none blocking function that allows for accurate delays to be specified in micro seconds using the core timer. 
Fc9-u32-icon.png - ULONG Delay
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties