FAQ | Points | Add... | Recent posts | Search | Register | Log in


ATmega8 ADC nie generuje przerwań


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> ATmega8 ADC nie generuje przerwań
Author
Message
Smoczy
Poziom 16
Poziom 16


Joined: 27 Aug 2003
Posts: 348
Location: Kraków

Post#1 Post from the author of the topic 21 Oct 2004 12:27   

ATmega8 ADC


Mam pytanie:
czy ktoś próbował zasymulować przetwornik ADC w AVRStudio 4.
W moim przypadku rejestry się zapisują, ale przetwornik nie generuje przerwań.
Prosze o podpowiedzi, czy jest to tylko błąd programu, czy ja coś źle robie (przepisałem kod z pdf-a).
Back to top
   
LordBlick
Poziom 23
Poziom 23


Joined: 31 Aug 2004
Posts: 3685
Location: Słupsk

Post#2 21 Oct 2004 15:39   

Re: ATmega8 ADC


Smoczy wrote:
Mam pytanie:
Prosze o podpowiedzi, czy jest to tylko błąd programu, czy ja coś źle robie (przepisałem kod z pdf-a).

Konkretnie to z którego pdf-a kolega przepisał ? na której stronie ?
Back to top
   
Google

Google Adsense


Post# 21 Oct 2004 15:39   





Back to top
   
domin0
Poziom 10
Poziom 10


Joined: 16 Sep 2003
Posts: 54

Post#3 21 Oct 2004 16:37   

Re: ATmega8 ADC


a moze ma ktos jaks gotowa procedurke w c do odczytu A/D w atmega 8535 i jeszcze wie co zrobic zeby te wartosci nie skakaly tak, pewnie cos zle filtruje
Back to top
   
LordBlick
Poziom 23
Poziom 23


Joined: 31 Aug 2004
Posts: 3685
Location: Słupsk

Post#4 21 Oct 2004 17:50   

Re: ATmega8 ADC


domin0 wrote:
a moze ma ktos jaks gotowa procedurke w c do odczytu A/D w atmega 8535 i jeszcze wie co zrobic zeby te wartosci nie skakaly tak, pewnie cos zle filtruje

Przeczytaj Przyjazny Podręcznik Producenta, to nie boli, podobnie jak myślenie, ewentualnie wciśnięcie przycisku "szukaj".
http://www.elektroda.pl/rtvforum/topic188342.html
Back to top
   
mzielin
Poziom 18
Poziom 18


Joined: 29 Mar 2003
Posts: 482
Location: 3miasto

Post#5 21 Oct 2004 18:38   

ATmega8 ADC


Albo przerzuć się na symulację za pomocą VMLABA.
http://www.amctools.com/
Jest znacznie lepszy wg mnie.
Back to top
   
Google

Google Adsense


Post# 21 Oct 2004 18:38   





Back to top
   
LordBlick
Poziom 23
Poziom 23


Joined: 31 Aug 2004
Posts: 3685
Location: Słupsk

Post#6 21 Oct 2004 19:47   

ATmega8 ADC


:arrow: mzielin : moja odpowiedź wyraźnie dotyczy kolegi domin0, który wyskoczył w tym wątku jak Filip z konopii.
Co do VMLAB, owszem jest super, sam bym sobie pełną wersję zainstalował, ale póki co w wersji demo tylko do 4k kodu..., a Atmel Studio jest dostępny bez ograniczeń, chociaż już raczej nie używam do emulacji, bo często działania w czasie rzeczywistym są bardziej interesujące...
Radzę sobie w ten sposób, że to co mnie interesuje jest wypluwane na wyświetlacz LCD i tak wyłapuję bugi, ewentualnie robię dump-a do EEPROM-a pod jakimś klawiszem(jak jest akurat w aplikacji klawiatura) albo pinem i zczytuję przez programator, lub też to co potrzebuję wiedzieć, zostaje wysłane RS-232 do PC na terminal.
Light-I
Back to top
   
Tdv
Poziom 22
Poziom 22


Joined: 27 Aug 2002
Posts: 2263
Location: Śląsk

Post#7 22 Oct 2004 07:30   

ATmega8 ADC


Sprawdź w helpie AVRStudio, do nie dawna nie miało obsługi części analogowej i było to napisane, może w najnowszych wersjach już to wszystko jest, więc muisz co nieco poczytać.
Back to top
   
GienekS
Poziom 22
Poziom 22


Joined: 12 Oct 2003
Posts: 1964
Location: Tarnowskie Góry

Post#8 22 Oct 2004 10:04   

Re: ATmega8 ADC


Na AVR Studio 4.09 przerwania ADC jeszcze nie działały a 4.10 nie chce się zainstalować. Ja radzę sobie w ten sposób że przerwanie wywołują ustawieniem flagi w symulatorze bo i tak na symulatorze nie jest to to co na faktycznym procku. Przetwornik ADC robiłem ale na ATmega16 i tam było wszystko stabilne. Stosowałem jako napięcie odniesienia to samo napięcie zasilania co przetwornik ADC.
Back to top
   
diodas
Poziom 9
Poziom 9


Joined: 24 Jun 2003
Posts: 34

Post#9 22 Oct 2004 15:06   

Re: ATmega8 ADC


Ja natomiast mam inny problem z tym prockiem i prosze o pomoc. Czy ktos zauwazyl moze czego brakuje w kodzie, bo jakos sam nie moge dojsc czemu przetwornik nie dziala :(
Code:

ADCSRA = (0<<ADPS0) | (0<<ADPS1) | (0<<ADPS2) | (1<<ADEN);
ADMUX = (0<<REFS0) | (0<<REFS1) | (0<<ADLAR) | (0<<MUX0) | (0<<MUX1) | (0<<MUX2) | (0<<MUX3);

ADCSRA |= (1<<ADSC);         // Uruchamia konwersje
while (!(ADCSRA & (1<<ADIF)));
ADCSRA |= (1<<ADSC);         // Uruchamia konwersje
while (!(ADCSRA & (1<<ADIF)));   // Oczekuje na ukonczenie konwersji

lo_val = ADCL;
hi_val = ADCH;

Dodam ze chce zmierzyc napiecie na PC0. AREF podlaczone do VCC.
------------------
Juz dziala, wina byla w innej czesci programu
Back to top
   
Google

Google Adsense


Post# 22 Oct 2004 15:06   





Back to top
   
GienekS
Poziom 22
Poziom 22


Joined: 12 Oct 2003
Posts: 1964
Location: Tarnowskie Góry

Post#10 22 Oct 2004 18:30   

Re: ATmega8 ADC


Proponuję zacząć od mniejszych szybkości przetważania ADC.
Ja to robię tak:
// Procedury przetwornika ADC

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include "uart.h"
#include "adc.h"

volatile u08 Analog;

void ADC_Init(void)
{
outp(BV(ADEN)|BV(ADSC)|BV(ADATE)|BV(ADIE)|BV(ADPS2)|BV(ADPS1)|BV(ADPS0),ADCSRA);
outp(BV(ADLAR)|BV(MUX2)|BV(MUX1)|BV(MUX0),ADMUX);
}

SIGNAL(SIG_ADC)
{
Analog = ADCH;
}

u08 ADC_Result(void)
{
return Analog;
}

Back to top
   
marek_Łódź
Poziom 23
Poziom 23


Joined: 23 Dec 2004
Posts: 3131
Location: Łódź

Post#11 03 Apr 2005 21:37   

Re: ATmega8 ADC


1. W przykładzie ATMELA w datasheecie ATMega8 (ADC) (chyba) jest błąd
2. AVR Studio w wersjach dotychczasowych (chyba) niespecjalnie (albo wcale) sobie radzi z przetwornikami.
3. Blokowanie programowania szeregowego w trybie programowania szeregowego w ATMega (fuse & lockbity) woła o pomstę do nieba
4. I tak atmelki są super.

Może jakiś błąd w programie z PDF? Zajrzyj jeszcze:

http://www.elektroda.pl/rtvforum/topic265149.html
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> ATmega8 ADC nie generuje przerwań
Page 1 of 1
Similar topics
[Atmega8][ASM]ADC nie działa poprawnie (11)
ATMEGA8 + ADC - co robię nie tak? (21)
[ATmega8][C][ADC]Dziwne błędy przetwornika ADC (2)
[AVR Studio] Symulacja przerwań ADC (3)
[ATMEGA8][BASCOM] Wyłączenie przerwań nie do końca działa .. (7)
[Atmega8] Timer0 nie generuje przerwania (13)
[atmega8][C] Nazwy przerwań / funkcji obsługi przerwań (4)
przerwanie int0 generuje reset atmega8 (1)
[Atmega8][C] Obsługa przerwań. (18)
Obsługa przerwań - ATmega8 (12)

Page generation time: 0.129 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed