ATtiny2313 a nadawanie IR

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
ODPOWIEDZ
Awatar użytkownika
Michał P.
-
Posty: 92
Rejestracja: 03 wrz 2007, 16:15
Lokalizacja: Stara Słupia

ATtiny2313 a nadawanie IR

Post autor: Michał P. » 18 sie 2008, 16:55

Cześć
Ostatnio chciałem zrobić sobie pilota RC5 współpracującego z PClot'em (EdW6/06), bo wnerwiał mnie pilot od TV.
Tylko, że ATtiny2313 nie chce nic nadawać! Odbiornik IR 38kHz reaguje, ale komputer już nie.
Kiedy podłączyłem diodę pod płytkę testową z ATmega8 to szło pięknie. Ale co z ATtiny2313? Układ na płytce prototypowej też nie chciał z nim pracować. Oprogramowanie pisałem w Bascom, z książką M. Wiązani "Programowanie µC w języku Bascom". Montaż jest poprawny, co robić?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 18 sie 2008, 16:57

Może czasy ci się nie zgadzają? Jak masz ustawiony zegar w atmedze a jak w attiny?

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 18 sie 2008, 16:58

A fusebits masz dobrze ustawione?? Jeśli nie to nie ma możliwości że będzie to działało poprawine.

Awatar użytkownika
Michał P.
-
Posty: 92
Rejestracja: 03 wrz 2007, 16:15
Lokalizacja: Stara Słupia

Post autor: Michał P. » 18 sie 2008, 19:40

Ale jak zaprogramowałem ATmegę, to żadnych fusebitów nie ustawiałem a działało. Poza tym jak w Bascomie się fusy ustawia?
Każdy proc był taktowany 8MHz, wszystko określiłem w programie łącznie z parametrem

Kod: Zaznacz cały

$regfile = "2313def.dat
A dla ATmegi8:

Kod: Zaznacz cały

$regfile = "m8def.dat"
Sprawdzałem kilka egzemplarzy ATtinów i żaden był władcy nie posłuszny...

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 18 sie 2008, 21:00

Jak chcesz taktować attiny zegarem 8MHz to musisz w fusach wyłączyć CKDIV8 bo domyślnie jest 1MHz. Swoją drogą skoro w atmedze nie ruszałeś fusów to też masz 1MHz. Zresztą dziwne, nic nie ruszałeś w fusach i ci atmega działała która ma domyślnie włączonego Watchdoga (nie wiem czy w kodzie go kasujesz) a attiny2313 nie ma więc raczej atmega nie powinna działać a attiny tak.

Awatar użytkownika
Michał P.
-
Posty: 92
Rejestracja: 03 wrz 2007, 16:15
Lokalizacja: Stara Słupia

Post autor: Michał P. » 19 sie 2008, 9:01

A gdzie w Bascomie ustawia się fusy?
Co do kwarca, to oznaczyłem na początku programu $crystal = 8000000

Awatar użytkownika
grysek67
Użytkownik
Posty: 315
Rejestracja: 27 cze 2007, 6:34
Lokalizacja: Limanowa
Kontakt:

Post autor: grysek67 » 19 sie 2008, 9:26

W okienku programowania masz zakładke "Lock and Fuse bits" no to tam sie ustawia.. Ale z tymi fusebitami to ostroznie.. :razz: A trzeba tez ustawic w fusach taki kwarc zeby był taki sam jak w programie.. Attiny ma chyba dzielnik przez 8 ustawiony..
Ostatnio zmieniony 19 sie 2008, 9:30 przez grysek67, łącznie zmieniany 1 raz.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 19 sie 2008, 9:29

Co do kwarca, to oznaczyłem na początku programu $crystal = 8000000
Dopóki nie ustawisz w procesorze że ma korzystać z takiego RC lub z zewnętrznego kwarca poprzez zmianę fusebitów, to deklarowanie w programie nic nie da a w zasadzie to pewnie da skutek odwrotny do zamierzonego. Także jak masz nieruszane fusy to zadeklaruj w programie $crystal = 1000000

Awatar użytkownika
Michał P.
-
Posty: 92
Rejestracja: 03 wrz 2007, 16:15
Lokalizacja: Stara Słupia

Post autor: Michał P. » 19 sie 2008, 9:55

snow pisze:Także jak masz nieruszane fusy to zadeklaruj w programie $crystal = 1000000
A rezonator trzeba 8MHz usunąć? Może nadawać IR na samym RC?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 19 sie 2008, 10:39

Jeżeli nic w procesorze nie przestawiałeś za pomocą fusów to nie ma sensu dołączać kwarcu bo po prostu nie będzie procesor z niego korzystał. Na RC też będzie pracował, poprawnie powinien pod warunkiem że prawidłowo w kodzie ustawisz częstotliwość zegara i czasy się będą zgadzać. W każdym razie deklarowanie częstotliwości 8MHz i dołączanie kwarcu bez przestawienia fusebitów na taki zegar mija się z celem bo nie będzie z tego korzystał. Proponuję poczytać podstawy dotyczące programowania procesorów a nie tylko wklepywać kod w Bascomie bez zrozumienia jak działa procek i co trzeba poustawiać w różnych sytuacjach ;)

ODPOWIEDZ