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



Teraz jest 30 mar 2026, o 21:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 27 cze 2017, o 13:04 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Witam wszystkich,

Panie i Panowie mam problem - nie programuję w C, dlatego proszę o pomoc.

Otóż na stronie forbot.pl zamieszczony jest projekt miernika odległości opartego na Atmega8 - link do artykułu: http://www.forbot.pl/forum/topics61/son ... vt3012.htm.

Autor zamieścił wszystkie materiały aby samodzielnie wykonać taki miernik - niestety nie mogę się Nim skontaktować.
Zrobiłem płytkę, wlutowałem elementy i czas na zaprogramowanie plikiem, który ma być w załączonej na stronie paczce.

I teraz zielonego pojęcia nie mam jak to zrobić.
Nie wiem jakie fusy ustawić - to po pierwsze.
A po drugie jakoś program mi się nie chce kompilować - o ile próbuje wgrać właściwy bo tu też pewności nie mam.

Pomoże ktoś zrobić z tego wsad w .hex, który będę mógł wgrać do mojej ósemki?
Wydaje mi się, że plikiem źródłowym jest plik o nazwie: "sonar", ale jak próbuję go skomplikować w MkClipse to wyskakuje błąd w linii 65.



W załączniku


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 14:05 
Offline
Użytkownik

Dołączył(a): 24 lip 2013
Posty: 60
Lokalizacja: Okolice Gliwic
Pomógł: 3

Wygląda na to, że masz w tej felernej linii użyty stary sygnał przerwania, trzeba go zastąpić nowym.
Posiłkując się tą stroną: http://www.nongnu.org/avr-libc/user-man ... rupts.html
zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

albo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
- ale nie pamiętam dokładnie i nie jestem w stanie teraz tego sprawdzić.


PS: W nagłówku kodu masz nr telefonu do autora, możesz zadzwonić :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 14:09 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Dzwoniłem i niestety telefon nieczynny.

A czy ten błąd może wynikać z tego, że plik był pisany w AVRStudio?

Chciałbym ten program skompilować w AtmelStudio, ale za cholery nie wiem jak to zrobić :(

------------------------ [ Dodano po: 2 minutach ]

Kanc1erz napisał(a):
Wygląda na to, że masz w tej felernej linii użyty stary sygnał przerwania, trzeba go zastąpić nowym.
Posiłkując się tą stroną: http://www.nongnu.org/avr-libc/user-man ... rupts.html
zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

albo
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
- ale nie pamiętam dokładnie i nie jestem w stanie teraz tego sprawdzić.


PS: W nagłówku kodu masz nr telefonu do autora, możesz zadzwonić :D


Nieważne co wpiszę nadal pojawia się błąd...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 14:15 
Offline
Użytkownik

Dołączył(a): 24 lip 2013
Posty: 60
Lokalizacja: Okolice Gliwic
Pomógł: 3

Wrzuć treść błędu ;)
W Atmel Studio bardzo prosto - tworzysz nowy projekt i dodajesz wszystkie pliki .c i .h do projektu. Na koniec wywalasz .c, który dodaje się automatycznie z projektem (jest tam od razu skzic funkcji main, ale to masz już w Twoim pliku sonar.c).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 14:27 
Offline
Użytkownik

Dołączył(a): 24 lip 2013
Posty: 60
Lokalizacja: Okolice Gliwic
Pomógł: 3

michal3 napisał(a):
Na schemacie widać że kwarc nie jest dołączony. W pliku w komentarzu widnieje 8MHz taktowanie. Możliwe że trzeba użyć wewnętrzny oscylator 8MHz.

Pod tym linkiem jest opisane właśnie że zamiast SIGNAL, teraz używa się ISR.
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html#ga67cd0dea412157775c2f2a3ffe9fb8ff



Nie mniej jednak nigdzie nie widzę definicji taktowania na 8MHz, więc imho powinno zostać tak, jak jest.
W Atmel Studio znacznie lepiej jest definiować częstotliwość w ustawieniach projektu -> toolchain -> symbols -> add "F_CPU=8000000".

Obrazek źle wstawiony, Różowo-Zielony J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 16:59 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Dziękuję wszystkim za odzew.
Między czasie dostałem odpowiedź od autora projektu.

Zaprogramowałem, podłączyłem i na razie nie mam komunikacji po I2C.
Jutro będę rozgryzał temat bo nie wiem gdzie jest błąd - czy w AT8, która steruje czujnikiem czy może w AT168, która komunikuje się z AT8 po I2C.

Zobaczymy :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2017, o 06:09 
Offline
Użytkownik

Dołączył(a): 13 mar 2013
Posty: 123
Pomógł: 1

Jeżeli skorzystasz z analizatora Saleae którego użycie demonstrował Pan Mirek w poradniku dotyczącym Magic LED i Attiny10 tołatwo będziesz mógł sprawdzić poprawność transmisji I2C. W aktualnym oprogramowaniu analizatora jest wbudowana m. in. analiza tego protokółu

Wysłane z mojego XT1580 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2017, o 07:18 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Tu nie chodzi tylko o I2C.
Powyższy program po wgraniu i uruchomieniu powinien 5 razy mignąć diodą a tak się nie dzieje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2017, o 10:44 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Panowie muszę ten wątek pociągnąć tutaj bo inaczej nie dojdę ładu a szczerze liczę na Waszą pomoc.

Projekt urządzenia wygląda tak, że mam 2 płytki - 2 moduły.

1. Płytka z AT168 i wyświetlaczem na której ma się pojawiać wynik odczytany z drugiej płytki przez I2C.
2. Płytka z AT8 na której zamontowany jest czujnik ultradźwiękowy

Na początku nie mogłem skompilować programu do płytki z czujnikiem, ale Kolega michal3 zrobił to za mnie i płytka faktycznie ruszyła - daje znać, że żyje bo zgodnie z programem mruga 5 razy diodą na początku

Teraz na drugiej płytce z AT168 i wyświetlaczem muszę odczytać wynik pomiaru z tej pierwszej po I2C.
Niestety nie znam C więc program mam napisany w Bascom

Wygląda on tak:

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


Problem w tym, że przy każdej próbie odczytu danych po I2C płytka z czujnikiem się resetuje :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2017, o 11:51 
Offline
Nowy

Dołączył(a): 09 kwi 2017
Posty: 23
Pomógł: 0

Płytka z czujnikiem niby się uruchamia, ale przy próbie wywołania manualnie pomiaru też nic się nie dzieje.
Ehh... coś tu jest grubo nie tak :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lip 2017, o 16:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sty 2013
Posty: 272
Pomógł: 3

A czemu nie możesz po RS232? Pytam z czystej ciekawości bo według mnie chyba prościej w ten sposób


Wysłane z iPhone za pomocą Tapatalk

_________________
sig off ;(



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: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 1 gość


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO