Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Frequency_Counter_w_GPS_1PPS
FRQ_CUNTR Class Reference
Frequency Counter program Only for ST Nucleo F411RE Board. More...
#include <frq_cuntr_full.h>
Public Member Functions | |
FRQ_CUNTR (PinName f_in, double gt, double ex_clock) | |
Configure data pin (Not changeable) | |
double | set_gate_time (double gt) |
Set gate time. | |
void | set_external_clock (double ex_clock) |
Set external clock frequency. | |
double | read_gate_time (void) |
Read gate time. | |
uint32_t | status_freq_update (void) |
Read status (new frequency data is available or not) | |
double | read_freq_data (void) |
Read new frequency data. | |
uint32_t | read_avarage_1pps (void) |
Read avarage measued data GPS 1PPS. | |
uint32_t | read_newest_1pps (void) |
Read newest measued data GPS 1PPS. | |
uint32_t | status_1pps (void) |
Read status (new 1PPS data is available or not) | |
uint8_t | status_gps (void) |
Read GPS status. | |
uint32_t | read_frequency_TIM2 (float gate_time) |
This is a "TEST PURPOSE" function Check PA0 pin input or internal clock frequency. | |
uint32_t | read_frequency_TIM3P4 (float gate_time) |
This is a "TEST PURPOSE" function Check PC6 pin input frequency. | |
void | port_mco1_mco2_set (uint8_t select) |
This is a "TEST PURPOSE" function Output clock from pin PA8 & PC9 uses for MCO_1 & MCO_2. | |
void | debug_printf_internal_data (void) |
This is a "DEBUG PURPOSE" function print internal data (need to define "DEBUG". |
Detailed Description
Frequency Counter program Only for ST Nucleo F411RE Board.
#include "mbed.h" using namespace Frequency_counter; // PC_6,PC_7 & PB_6 use for Timer3 & 4(16+16bit) // PA_0,PA_1 & PB_10 use for Timer2(32bit) // PA_8 & PC_7 use for MCO (Test purpose) FRQ_CUNTR fc(PC_6, 1.0, 24.999982f); //Input port, gate time[sec] & External clock freq. int main() { uint32_t counter_1pps = 0; double new_frequency = 0; // This is for test purpose fc.port_mco1_mco2_set(4); // Clk/4 ->1/1(100MHz) cannot measure!! fc.read_frequency_TIM2(1.0); // read TIM2 source frequency (test) fc.read_frequency_TIM3P4(1.0); // read TIM3 source frequency (test) while(true) { while (fc.status_1pps() == 0) {;} counter_1pps = fc.read_avarage_1pps(); while (fc.status_freq_update() == 0) {;} new_frequency = fc.read_freq_data(); printf("1PPS/ave = %9d , FREQUENCY = %11.3f\r\n", counter_1pps, new_frequency); } }
Definition at line 77 of file frq_cuntr_full.h.
Constructor & Destructor Documentation
FRQ_CUNTR | ( | PinName | f_in, |
double | gt, | ||
double | ex_clock | ||
) |
Configure data pin (Not changeable)
- Parameters:
-
Freq. input pin + Gate time[sec] + External clock[MHz]
Definition at line 102 of file frq_cuntr_full.cpp.
Member Function Documentation
void debug_printf_internal_data | ( | void | ) |
This is a "DEBUG PURPOSE" function print internal data (need to define "DEBUG".
- Parameters:
-
none
- Returns:
- none
Definition at line 599 of file frq_cuntr_full.cpp.
void port_mco1_mco2_set | ( | uint8_t | select ) |
This is a "TEST PURPOSE" function Output clock from pin PA8 & PC9 uses for MCO_1 & MCO_2.
- Parameters:
-
none
- Returns:
- none
Definition at line 320 of file frq_cuntr_full.cpp.
uint32_t read_avarage_1pps | ( | void | ) |
Read avarage measued data GPS 1PPS.
- Parameters:
-
none
- Returns:
- Frequency
Definition at line 202 of file frq_cuntr_full.cpp.
double read_freq_data | ( | void | ) |
Read new frequency data.
- Parameters:
-
none
- Returns:
- frequency data
Definition at line 160 of file frq_cuntr_full.cpp.
uint32_t read_frequency_TIM2 | ( | float | gate_time ) |
This is a "TEST PURPOSE" function Check PA0 pin input or internal clock frequency.
- Parameters:
-
none
- Returns:
- Frequency
Definition at line 290 of file frq_cuntr_full.cpp.
uint32_t read_frequency_TIM3P4 | ( | float | gate_time ) |
This is a "TEST PURPOSE" function Check PC6 pin input frequency.
- Parameters:
-
none
- Returns:
- Frequency
Definition at line 301 of file frq_cuntr_full.cpp.
double read_gate_time | ( | void | ) |
Read gate time.
- Parameters:
-
none
- Returns:
- gate time (range 50mS to 1 minute)
Definition at line 132 of file frq_cuntr_full.cpp.
uint32_t read_newest_1pps | ( | void | ) |
Read newest measued data GPS 1PPS.
- Parameters:
-
none
- Returns:
- Frequency
Definition at line 223 of file frq_cuntr_full.cpp.
void set_external_clock | ( | double | ex_clock ) |
Set external clock frequency.
- Parameters:
-
frequency e.g. 25.000000 [MHz]
- Returns:
- none
Definition at line 138 of file frq_cuntr_full.cpp.
double set_gate_time | ( | double | gt ) |
Set gate time.
- Parameters:
-
gate time [sec]
- Returns:
- gate time (range 50mS to 1 minute)
Definition at line 111 of file frq_cuntr_full.cpp.
uint32_t status_1pps | ( | void | ) |
Read status (new 1PPS data is available or not)
- Parameters:
-
none
- Returns:
- !=0: new data is avairable, 0: not yet
Definition at line 176 of file frq_cuntr_full.cpp.
uint32_t status_freq_update | ( | void | ) |
Read status (new frequency data is available or not)
- Parameters:
-
none
- Returns:
- !=0: new data is avairable, 0: not yet
Definition at line 170 of file frq_cuntr_full.cpp.
uint8_t status_gps | ( | void | ) |
Read GPS status.
- Parameters:
-
none
- Returns:
- 1: GPS is ready
Definition at line 229 of file frq_cuntr_full.cpp.
Generated on Thu Aug 4 2022 05:25:10 by
