Reciprocal Frequency counter only for STM32F401、F411 and F466. Reciprocal Mode -> Pulse width measurement

Dependents:   Frequency_Counter_Recipro_for_STM32F4xx

Embed: (wiki syntax)

« Back to documentation index

FRQ_CUNTR Class Reference

FRQ_CUNTR Class Reference

Frequency Counter program Only for Nucleo-F411RE & F446RE. More...

#include <fc_recipro.h>

Public Member Functions

 FRQ_CUNTR (PinName pin=A0)
 Configure counter.
void recipro_start_measurement (void)
 start Reciprocal measurement
void recipro_stop_measurement (void)
 stop Reciprocal measurement
bool recipro_check_status (Recipro_status_TypeDef *status)
 check status
void recipro_get_result (Recipro_result_TypeDef *fq)
 read data
void recipro_get_raw_data (int64_t *buf)
 read raw data
uint32_t read_base_clock_frequency (void)
 Check input frequency on TIM2.
uint32_t read_tm2_overflow (void)
 Check overflow counter data on TIM2.

Detailed Description

Frequency Counter program Only for Nucleo-F411RE & F446RE.

 #include "mbed.h"
 #include "fc_recipro.h"

 using namespace Frequency_counter;

 // frequency input  -> PA_0 & PA_1
 //       PA_0(for reciprocal)  Timer2 Input Capture #1
 //       PA_1(for reciprocal)  Timer2 Input Capture #2

 FRQ_CUNTR    fc;

 Recipro_result_TypeDef freq;

 int main()
 {
     //pc.printf("\r\nStart Frequency Counter\r\n");
     fc.recipro_start_measurement();
     while(true) {
         t.reset();
         t.start();
         if (fc.recipro_check_status(&status) == true) {
             fc.recipro_get_result(&freq);
             pc.printf("freq = %.3f [Hz], time(rise_fall) = %.6f [mS]\r\n",
                       freq.freq_rise2rise, freq.time_us_rise2fall);
         } else {
             pc.printf("------   data is NOT ready -------\r\n");
         }
         uint32_t pass = t.read_ms();
         if (pass < 990) {
             WAIT(1000 - pass);
         }
     }
 }

Definition at line 77 of file fc_recipro.h.


Constructor & Destructor Documentation

FRQ_CUNTR ( PinName  pin = A0 )

Configure counter.

Parameters:
pin(Fixed A0 & A1) No other choice!!

Definition at line 74 of file fc_recipro.cpp.


Member Function Documentation

uint32_t read_base_clock_frequency ( void   )

Check input frequency on TIM2.

Parameters:
none
Returns:
frequency data

Definition at line 357 of file fc_recipro.cpp.

uint32_t read_tm2_overflow ( void   )

Check overflow counter data on TIM2.

Parameters:
none
Returns:
overflow data

Definition at line 367 of file fc_recipro.cpp.

bool recipro_check_status ( Recipro_status_TypeDef *  status )

check status

Parameters:
pointerfor saving status
Returns:
ready = true, not ready = false

Definition at line 211 of file fc_recipro.cpp.

void recipro_get_raw_data ( int64_t *  buf )

read raw data

Parameters:
pointerfor saving raw data
Returns:
none

Definition at line 301 of file fc_recipro.cpp.

void recipro_get_result ( Recipro_result_TypeDef *  fq )

read data

Parameters:
pointerfor saving data
Returns:
none

Definition at line 293 of file fc_recipro.cpp.

void recipro_start_measurement ( void   )

start Reciprocal measurement

Parameters:
none
Returns:
none

Definition at line 188 of file fc_recipro.cpp.

void recipro_stop_measurement ( void   )

stop Reciprocal measurement

Parameters:
none
Returns:
none

Definition at line 204 of file fc_recipro.cpp.