Jump to content
ELFORUM - Forumul electronistilor

Utiliz iesirilor din PORTA impreuna cu citirea ADC pe PIN0


claudio

Recommended Posts

Am o nedumerire: pe un ATmega32 cand se foloseste ADC, imi este restrictionat accesul la tot portul A?Mai exact, am implementat un senzor de lumina conectat la PORTA pin 0 adica la ADC0.Toate functioneaza ok, pana sa integrez functia in proiectul mare.Acolo am o intrerupere de tip CTC (ISR(TIMER1_COMPA_vect)) care imi activeaza succesiv cate o iesire din portul A (exceptand PIN0), dar o ia tare razna.O idee de unde sa incep debugging?

Link to comment
  • Replies 3
  • Created
  • Last Reply

Am gasit greseala :da dar poate cineva sa-mi explice si de ce o lua razna uC-ul? :jytuiyu

 

deci am definit la inceputul programului variabila adc_temp

uint16_t adc_temp[]={};

apoi in functia pentru calculare media am facut:

for (uint8_t adc_index=0; adc_index<20; adc_index++)	{		adc_temp[adc_index]=adc_temp[adc_index+1];	}

abia dupa ce am definit astfel variabila mi-a mers:

uint16_t adc_temp[20];
Link to comment

Dimensiunea unui vector se poate da, la declarare, in doua moduri:

tip vector[dimensiune]; 
sau

tip vector[] = {"elemente initializate, separate prin virgula"};

In cel de-al doilea caz, dimensiunea vectorului e dat de numarul de elemente intre acolade. In cazul tau intre acolade ai fix 0 elemente, asa ca probabil ai un vector caruia compilerul nu-i aloca nici un fel de memorie (si se comporta ca un pointer spre cine stie ce colt de memorie).

Cel putin asa-mi iese mie cand vad codul tau, dar mai asteapta si alte pareri (care, de altfel, ma intereseaza si pe mine).

Link to comment

Archived

This topic is now archived and is closed to further replies.




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines