Professional Documents
Culture Documents
Input - Capture Mcu
Input - Capture Mcu
h>
#include "board.h"
#include "peripherals.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "MKL28Z7.h"
#include "fsl_debug_console.h"
/* TODO: insert other include files here. */
/*
* @brief Application entry point.
*/
int main(void) {
/* Init board hardware. */
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
#ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL
/* Init FSL debug console. */
BOARD_InitDebugConsole();
#endif
PRINTF("Hello World\n");
WDOG_disable();
TPM0_init();
PORT_init();
TPM0_CH0_IC_init();
inicia_TPM0_counter();
uint16_t CurrentCaptureVal = 0;
uint16_t PriorCaptureVal = 0;
uint16_t DeltaCapture = 0;
void TPM0_init(void)
{
PCC_TPM0|= PCC_CLKFG_PCS(0b010) | PCC_CLKCFG_CGC_MASK;
SCG->SIRCDIV |= (1U<<16);
TPM0->SC =0;
TPM0->SC |= TPM_SC_PS(7);
TPM0->COMBINE = 0x00000000;
TPM0->POL = 0x00000000;
TPM0->MOD = 62499;
}
void TPM0_CH5_ICinit(void)
{
TPM0->CONTROL[5].CnSC = TPM_CnSC_ELSB_MASK | TPM_CnSC_ELSA_MASK;
}
while(1) {
if(1==((TPM0->CONTROLS[5].CnSC & TPM_CnSC_CHF_MASK)>>TPM_CnSC_CHF_SHIFT)){
TPM0->CONTROLS[5].CnSC &= ~TPM_CnSC_CHF_MASK;
PriorCaptureVal = CurrentCaptureVal;
CurrentCaptureVal = TPM0->CONTROLS[5].CnV;