spusuluri / BME590-Final-Project

This repository holds C code for BME 590 Final Project
0 stars 0 forks source link

Timers to read ADC not functional #1

Closed spusuluri closed 1 year ago

spusuluri commented 1 year ago

https://github.com/spusuluri/BME590-Final-Project/blob/a7a3f2c03245f2b16a1a5b3e75e6308ec98ce009/src/main.c#L105

I commented the lines out to check if it was the timer causing the error and to push a safe version to git. But, when uncommented, I get this error.

*** Booting Zephyr OS build v3.2.99-ncs1 ***ng system
[00:00:00.259,338] <dbg> Final_Project: read_adc_sin100: 100 Hz Sinusoid ADC Value (mV): 0
[00:00:00.259,368] <err> os: ***** BUS FAULT *****
[00:00:00.259,368] <err> os:   Imprecise data bus error
[00:00:00.259,399] <err> os: r0/a1:  0x00000000  r1/a2:  0x00000000  r2/a3:  0x00000001
[00:00:00.259,429] <err> os: r3/a4:  0x00000000 r12/ip:  0x00000000 r14/lr:  0x00000ed7
[00:00:00.259,429] <err> os:  xpsr:  0x61007021
[00:00:00.259,429] <err> os: Faulting instruction address (r15/pc): 0x00000eda
[00:00:00.259,490] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:00:00.259,490] <err> os: Fault during interrupt handling

It can read the ADC fine. But, it can't do that timing properly. Maybe because the timer function is too complex?

mlp6 commented 1 year ago

The timer functions should be treated like callbacks... reduce the overhead as much as possible.

spusuluri commented 1 year ago

fixed