Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 kwi 2024, o 22:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 17 lut 2013, o 01:50 
Offline
Nowy

Dołączył(a): 09 lut 2013
Posty: 11
Pomógł: 0

Witam..
Chciałem dzisiaj pobawić się z termometrem DS18B20 tylko mam pewien problem. Gdy w programie chce włączyć globalne przerwania funkcją sei(); to resetuje mi się układ i program leci od nowa. Włączony mam wewnętrzny oscylator 8Mhz.
Wklejam tylko część kodu ponieważ nie wiem czy mogę udostępnić na forum cały kod programu z książki pana Mirosława.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Aby sprawdzić czy faktycznie się resetuje to wyświetlam sobie na początku programu start, później znika i pojawia się aktualna temperatura odczekuje i chce włączyć globalne przerwania i wtedy program leci od nowa napis Start... Napis OK się nie wyświetla.

Wyświetlacz podłączyłem pod C2-C5 i RS,RW, E pod D0-D2
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Termometr podłączyłem pod PB0
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2013, o 01:59 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

A masz obsłużone to przerwanie :?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2013, o 02:35 
Offline
Nowy

Dołączył(a): 09 lut 2013
Posty: 11
Pomógł: 0

Wklejam cały kod mam nadzieję że głową nie zapłacę za to :)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2013, o 10:10 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

TCCR0A, TCCR0B i TIMSK0 sugerują, że to nie ATMEGA32 tylko nowsze ATMEGAxx4 lub ATMEGAxx8. Na pewno było ostrzeżenie, że nazwa przerwania jest nie taka:
Kod:
warning: 'TIMER0_COMP_vect' appears to be a misspelled signal handler

W eclipse masz łatwy dostęp do tych nazw. Wystarczy wejść Window->ShowView->Other->AVR->AVR Device Explorer i z listy rozwijanej wybrać odpowiedni procesor (choć zwykle sam się przestawia). Są trzy zakładki Registers, Ports i Interrupts. Właśnie w tej 3 masz nazwę przerwania.
Co do kodów z książki to nie należy umieszczać kodów bibliotek, bo są one integralną jej częścią i ich publikacja to powielanie treści tak samo jak publikacja skanów książek. W twoim przypadku pliki z folderu LCD i 1Wire są taką treścią. Poza tym jak korzystasz z tych bibliotek to wiadomo o co chodzi.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2013, o 11:37 
Offline
Nowy

Dołączył(a): 09 lut 2013
Posty: 11
Pomógł: 0

Nie wiem jak to się stało ale nie podałem że mam Atmega328P, zawsze podawałem(o 2 w nocy chyba nie kontaktowałem :) ). Tak myślałem że coś tam będzie nie tak ale właśnie nie widziałem co tam zmienić. Dziękuję bardzo "Krauser" za oświecenie gdzie znajdę wszystkie nazwy przerwań bardzo przydatna rzecz dla początkującego i za wyjaśnienie sprawy dotyczącej który kod można umieszczać na forum a który nie.

Problem rozwiązany wystarczyło zmienić TIMER0_COMP_vect na TIMER0_COMPA_vect.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO