diff --git a/snippets/test1/test1.c b/snippets/test1/test1.c index 0762121..de0fb32 100644 --- a/snippets/test1/test1.c +++ b/snippets/test1/test1.c @@ -60,11 +60,8 @@ const uint8_t MDR1_F_BW = 0b01000000; const uint8_t MDR1_F_CY = 0b10000000; -volatile uint32_t ec = 0; - -void isr() { - ec++; -} +volatile uint32_t savedCounter = 0; +uint32_t lastSavedCounter = 0; void writeCmd(uint8_t c) { uint8_t buf[1]; @@ -94,6 +91,10 @@ uint32_t read32(uint8_t c) { return r; } +void isr() { + savedCounter = read32(CMD_RD | REG_OTR); +} + void init() { wiringPiSetupGpio(); @@ -109,6 +110,7 @@ void init() { void initCounter() { writeCmd(CMD_CLR | REG_STR); writeCmd(CMD_CLR | REG_CNTR); + writeCmdData(CMD_WR | REG_MDR0, MDR0_ILO); } int main (void) { @@ -116,10 +118,9 @@ int main (void) { initCounter(); while (1) { - uint8_t str = read8(CMD_RD | REG_STR); - uint32_t cntr = read32(CMD_RD | REG_CNTR); - - printf("%02x %d %d\n", str, ec, cntr); + uint32_t diff = savedCounter - lastSavedCounter; + lastSavedCounter = savedCounter; + printf("%d\n", diff); sleep(1); }