Difference between revisions of "Component: PIC32 Core Timer (Timing)"
From Flowcode Help
Jump to navigationJump to search(7 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here | + | 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] | ||
==Detailed description== | ==Detailed description== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Line 40: | Line 50: | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Line 59: | Line 77: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
==Macro reference== | ==Macro reference== | ||
+ | ===Check_Counter=== | ||
{| 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Check_Counter''' |
|- | |- | ||
− | | colspan="2" | | + | | 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. |
|- | |- | ||
|- | |- | ||
− | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL | |
− | |||
− | |||
− | |||
− | |||
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
+ | ===Delay_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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_InstructionCount''' |
|- | |- | ||
− | | colspan="2" | A | + | | colspan="2" | A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. |
|- | |- | ||
|- | |- | ||
Line 99: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ms''' |
|- | |- | ||
− | | colspan="2" | A blocking function that allows for accurate delays to be specified in | + | | colspan="2" | A blocking function that allows for accurate delays to be specified in milliseconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 117: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Ns''' |
|- | |- | ||
− | | colspan="2" | A | + | | colspan="2" | A blocking function that allows for accurate delays to be specified in nano seconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 135: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_S''' |
|- | |- | ||
− | | colspan="2" | A | + | | colspan="2" | A blocking function that allows for accurate delays to be specified in seconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 153: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_Us''' |
|- | |- | ||
− | | colspan="2" | A blocking function that allows for accurate delays to be specified in | + | | colspan="2" | A blocking function that allows for accurate delays to be specified in micro seconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 171: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_InstructionCount''' |
|- | |- | ||
− | | colspan="2" | A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. | + | | colspan="2" | A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. |
|- | |- | ||
|- | |- | ||
Line 189: | 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;" | ''' | + | | 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 | + | | colspan="2" | A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 207: | Line 238: | ||
+ | ===Start_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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_Ns''' |
|- | |- | ||
− | | colspan="2" | A blocking function that allows for accurate delays to be specified in | + | | colspan="2" | A none blocking function that allows for accurate delays to be specified in nano seconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 225: | 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;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start_S''' |
|- | |- | ||
− | | colspan="2" | A blocking function that allows for accurate delays to be specified in | + | | colspan="2" | A none blocking function that allows for accurate delays to be specified in seconds using the core timer. |
|- | |- | ||
|- | |- | ||
Line 243: | 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;" | ''' | + | | 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. | ||
+ | |- | ||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG |
+ | | width="90%" | Delay | ||
|- | |- | ||
+ | | colspan="2" | | ||
|- | |- | ||
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | + | | 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'' | | 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 |
Contents
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
![]() |
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. | |
![]() |
Return |
Delay_InstructionCount
![]() |
Delay_InstructionCount |
A blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. | |
![]() |
Delay |
![]() |
Return |
Delay_Ms
![]() |
Delay_Ms |
A blocking function that allows for accurate delays to be specified in milliseconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Delay_Ns
![]() |
Delay_Ns |
A blocking function that allows for accurate delays to be specified in nano seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Delay_S
![]() |
Delay_S |
A blocking function that allows for accurate delays to be specified in seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Delay_Us
![]() |
Delay_Us |
A blocking function that allows for accurate delays to be specified in micro seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Start_InstructionCount
![]() |
Start_InstructionCount |
A none blocking function that allows for accurate delays to be specified in FOSC instructions using the core timer. | |
![]() |
Delay |
![]() |
Return |
Start_Ms
![]() |
Start_Ms |
A none blocking function that allows for accurate delays to be specified in milliseconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Start_Ns
![]() |
Start_Ns |
A none blocking function that allows for accurate delays to be specified in nano seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Start_S
![]() |
Start_S |
A none blocking function that allows for accurate delays to be specified in seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Start_Us
![]() |
Start_Us |
A none blocking function that allows for accurate delays to be specified in micro seconds using the core timer. | |
![]() |
Delay |
![]() |
Return |
Property reference
![]() |
Properties |