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



Teraz jest 19 mar 2026, o 20:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 2 sty 2014, o 21:03 
Offline
Nowy

Dołączył(a): 11 sty 2012
Posty: 5
Pomógł: 0

Witam wszystkich serdecznie :=)
,głupota z tytułu to moja oczywiście .... :oops:
Tak mnie zaślepiło, że nie mogę sobie dać rady z problemem - pewnie prostym. Przykład kodu C:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Połączenia sprawdzane milion razy: klawisz na PC6 zwiera do masy a na PC5 dioda LED przez rezystor połączona z Vcc.
Stracone klika godzin. Proszę, powiedzcie mi, dlaczego po uruchomieniu tego programu, w konfiguracji jak napisałem, bez naciskania klawisza dioda miga na oko co 280 ms :=) ? Dlaczego u licha warunek
Kod:
!(PINC & KEY_PIN)
jest bez naciśniętego klawisza spełniony? ... Nie rozumiem.
Kod sprawdzałem wiele razy, połączenia też. Nie wiem co jest.
Pozdrawiam serdecznie i proszę o ew. pomoc we wskazaniu źródła problemu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

Nie wiem czy o to chodzi ale warunek powinien być bez negacji:

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

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:14 
Offline
Nowy

Dołączył(a): 11 sty 2012
Posty: 5
Pomógł: 0

:=) bez tej negacji dioda nie miga ale i nie reaguje na klawisz. Poza tym z logiki wynika że powinna być i jest w przykładzie Mirka. Połączenia jak napisałem takie same. Klawisz do masy na PC6 a dioda z PC5 przez R do Vcc.



Ostatnio edytowano 2 sty 2014, o 21:16 przez przepro, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:15 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Jest prawidłowo.
Gdyby było bez negacji to warunek byłby cały czas spełniony (stan wysoki na klawiszu, który nie jest wciśnięty).

A dioda w w.w. programie nie powinna migać chyba że masz źle połączony klawisz (może nie te piny klawisza podpiąłeś - dlatego jest cały czas zwarty).



Ostatnio edytowano 2 sty 2014, o 21:25 przez ciamciak, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:21 
Offline
Nowy

Dołączył(a): 02 sty 2014
Posty: 9
Pomógł: 1

A spróbuj w fusebitach wyłączyć programowanie przez JTAG. Port C jest taki paskudny, że kilka pinów tam jest zarezerwowanych dla tego interfejsu i trzeba to wyłączyć (nie znalazłem o tym informacji w książce :( ). Spróbuj wykonać dokładnie to zadanie z przykładu na Porcie innym niż C, żeby być pewnym kodu.

Pozdrawiam


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:29 
Offline
Nowy

Dołączył(a): 11 sty 2012
Posty: 5
Pomógł: 0

NIESAMOWITE !!!
jest dokładnie tak jak napisałeś. Na innym porcie DZIAŁA, konkretnie na PD1 (LED) i PD2 (Klawisz).
Początkujący naprawdę może zgłupieć w takich przypadkach.
Serdecznie dziękuję za sugestię i pomoc w rozwiązaniu problemu. Nigdy o takim przypadku nie słyszałem.
Pozdrawiam i jeszcze raz dziękuję.
PS. Moje Ego w trakcie tej męki naprawdę ucierpiało :=).

Pozostaje jeszcze problem jak to przestawić w fusbitach, bo na razie problem rozwiązałem przenosząc się na inne piny procesora. Może ktoś wie i napisze ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:38 
Offline
Nowy

Dołączył(a): 02 sty 2014
Posty: 9
Pomógł: 1

Straciłem nad tym kilka dobrych dni a mnie pomógł znowu post na elektrodzie także wiedza krąży ;)

High Fuse Bit nr 6 (JTAGEN) musi być 0 (czyli PROGRAMMED)

Ja używam programu eXtreme Burner AVR i tam jest to bardzo prosto przestawić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sie 2013
Posty: 137
Lokalizacja: śląskie
Pomógł: 13

Najprościej przez mkAVRCalc. ;)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 21:56 
Offline
Nowy

Dołączył(a): 11 sty 2012
Posty: 5
Pomógł: 0

Niestety ale eXtreme Burner mojej Atmega328P nie obsługuje. Patrzyłem na MkAvrCalculator ale nie wiem jak ten fuse bit przeprogramować. Jak znajdę rozwiązanie dla Atmega328P napiszę.
Pozdrawiam wszystkich.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 22:12 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Ale ta Atmega chyba niema jtag-a.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 22:25 
Offline
Nowy

Dołączył(a): 11 sty 2012
Posty: 5
Pomógł: 0

Wygląda na to, że nie ma JTAG. Zmiana pinów z PC6 i PC5 na PD1 i PD2 jednak pomogła - jaka więc była przyczyna? Może ktoś zna odpowiedź - przyda się dla potomnych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 22:32 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Pod PC6 masz domyślnie włączoną funkcję reset (potrzebny do programowania przez ISP, więc lepiej tego nie ruszaj).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2014, o 22:35 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

heh... prawdopodobnie cos nie tak zrobiłeś że nie zadziałało .
natomiast ... loknij sobie co masz na PC6 ?

Obrazek

jak widzisz RESET :)

PODOBNIE ... UNIKAJ PINÓW kilku na PORCIE B - jak MOSI MISO i SCK :) Możesz się czasem zdziwić że coś nie działa , a wystarczy odłączyć programator i działa ,
albo nie mozna zaprogramować procka bo ktos tam LCD podłaczył np ... jak wyjmiesz procek ożywa :)


Jak piszesz w eclipse to warto pamiętać o małej sekwencji wykonywania kompilacji:

CLEAN , SAVE , MAKE ALL , UPLOAD


ew namieszałeś prockowi i trzeba mu zrobić lov level erase z consoli AVRDUDE



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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