#include int main() { PIOC->PIO_PDR = 1u << 25; PIOC->PIO_ABSR = 1u << 25; // select peripheral b // timer setup TC2->TC_CHANNEL[0].TC_CCR = TC_CCR_CLKDIS; // Counter Clock Disable TC2->TC_CHANNEL[0].TC_CMR = TC_CMR_TCCLKS_TIMER_CLOCK1 | // Clock selected: internal MCK/2 clock signal (from PMC) TC_CMR_LDRA_RISING | // Load CV to RA when a rising edge on TIOA occurs TC_CMR_LDRB_RISING | // Load CV to RB when a rising edge on TIOA occurs (after ra loading occured) TC_CMR_LDBSTOP; // Counter clock is stopped when RB loading occurs. TC2->TC_CHANNEL[0].TC_CCR = TC_CCR_CLKEN; // Counter Clock Enable // meassurements while (1) { TC2->TC_CHANNEL[0].TC_CCR = TC_CCR_SWTRG; // software trigger while (~TC2->TC_CHANNEL[0].TC_SR & TC_SR_LDRBS) // wait until rb loading occurs { } } }