Infra jelek dekódolása

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Hát nálam nincsen a sorosport adatvonalán LED!
De szerintem ott olyan gyors a jel, hogy nem lenne szabad látnod a villogást. Ha csak 1 Byte-t küldesz 1*re.
Elképzelhető, hogy pont a LED terheli le a vonalat. És nincsen elég magas H szint a bemeneten?

Ha meg adás közben bontod a csatlakozót, az annyi zajt okoz, hogy ne csodálkozz, hogy meg hülyül! Még szerencséd, hogy nem ment még tönkre! :twisted:
Akkor már inkább az adó program csak 1* fusson le. A végére 1 END parancs kel a Loop helyett. És reset gombbal mindig újra indítod
:idea:
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

Szerencse :) ezt nem tudtam.
De mindegyiktet háromszor is leellenőriztem és mindíg ugyanannyit villant a led az egyes értékeknél.

Megpróbálom kiforrasztani a ledet hátha tényleg leterheli. És kipróbálom a rutint. Köszi.
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

Sejtem mi lehet a baj. Nagyon lassan villog. Szerintem az órajellel lesz a gond. Megnézek még pár dolgot.
Az okozhat ilyen problémát?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Fusebiteknél az 8-as órajel osztás kivan kapcsolva?
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

Kivan, viszont jumperen keresztül csatlakozik a kristály. Remélem ez nem baj. Átellenőrzöm a kapcsolást mert sok a sallang rajta.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

És még 1 fontos részlet az adó résznél használj „;” az utasítás végén.

Print Code ;

Így nem küld a Bascom: Újsor elejére utasítást.
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

Rákötöttem egy lcd-t a vevőre. és ugyanazokat írja ki.
Ha 7-et küldök 55 jelez az lcd. másodpercenként küldi az adatokat és mindíg 55 jön vissza.

Az adó:

Kód: Egész kijelölése

$regfile = "m168def.dat" 
$crystal = 16000000 
$baud = 9600 

Echo Off 

Dim Code As Integer 

Code = 7

Do 
   Print Code ; 
   Wait 1 
Loop 

End
A vevő:

Kód: Egész kijelölése

$regfile "attiny2313.dat"
$crystal = 16000000
$baud = 9600

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcdmode = Port
Config Portb.6 = Output

Toggle Portb.6

Echo Off

Dim Code As Integer

Do
   Code = 0
'   Code = Inkey()                                           'get Byte value from serial port
   Code = Waitkey()
   Cls                                                      'Ez Megvárja a beérkező jelet ha nem villog valami hiba van
   Lcd Code
Loop

End
Nem tudom mi lehet a baj.
Nem tudtok valami oldalt ahol foglalkoznak AVR-AVR közötti kapcsolatról sorosportal? Csinált már ilyet valaki itt a fórumon?
Nagyon köszönöm.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ha megnézed a Helpben az ASCII chart táblázatot a 7 karakternek Dec 55 a kódja.
Ezek szerint a Codod Karakterként kerül átküldésre!

Most ezt vagy így iratod ki: LCD Binval(Code)
Vagy Használod küldéskor a : PRINTBIN Code
utasítást.
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

És hogy lehetne elérni hogyha én pl. 538-at küdök azzal tudjak dolgozni?
Hozzáadni, kivonni, kiiratni lcd-re, timer1 késleltetéshez beírni stb
Kell hozzá csinálni egy külön rutint?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Igen lekel írni lépésenként a programban, amit tenni szeretnél.
Mindenre van megfelelő utasítás Bascomban.
8)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Kimegy az "5" majd a "3" majd a "8" majd egy Ctrl+LF (sorvége jel)
Így a vett értéked nem byte, hanem STRING! Esetleg ha nem byteként veszed az Waitkey() függvénnyel, hanem INPUT -tal, és a vett értlék nem byte (az 5xx miatt, hanem minimum WORD.
Avatar
Allspark
Bitmanipulátor
Hozzászólások: 106
Csatlakozott: 2009. július 9. csütörtök, 6:00

Hozzászólás Szerző: Allspark »

Az előző hozzászólásomban arra gondoltam hogy közvetlen tudok-e vele dologzni? Küldés: 1234 -> fogadás 1234 (input code -> code + 1) ésakkor kapok 1235-öt. De ezek szerint kell egy rutin hozzá. Remélem bele tudom zsúfolni a memóriába már ígyis elég szűkösen férek el.
Igazából csak frekit kéne kiadnia a vevőnek a timer1-el és azt állítani, meg kiolvasni az adóval.
THX
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Kértél RS232-re alkalmazás mintát, ha ide átmész találsz bőven:
http://avr.tavir.hu/modules.php?name=Fo ... er&start=0
Különben is a téma oda tartozna!
Old meg direkt regiszter írással és olvasással!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nagyobb ICre átmenni?

M8->M328
M64/128-> M2561
M16/32->M644/M1284(?)
T13->T85
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ez kis helyet foglal.

Kód: Egész kijelölése

Config Serialin = Buffered , Size = 10            'Soros buffer, hogy ne vesszenel adat

Dim B As Byte
B = 65
Udr = B                                                     'The UART I/O Data Register UDR –IRÁS

If Ischarwaiting() = 1 Then                                 'Van adat
   B = Udr                                                  ' The UART I/O Data Register – UDR Olvasás
End If

Válasz küldése