ericson
xx
mrx111
Středa Březen 17 14:25:55 CET 2004
Kdyz se podivate na archiv clanku hw-serveru, tak tam najdete externi
napovedne zarizeni. Z tohoto duvodu jsem to puvodne bastlil a ta cast IrDa
je tam vyfocena zvlast. IR led je pres tranzistor rizena primo z jednocipu a
prijimaci cast tvori kaskada tranzistoru a pres schmitak to jde zpet do
jednocipu. Source je nasledujuci:
IRRead: (poveseno na ext0, nebo ext1)
CLR EA
MOV R5,#4
JB INBIT, ReadEnd ; try again if error
READ2A: DJNZ R5,READ2A
MOV R2,#8
CLR C
READ2B: LCALL RONEBIT
RRC A
MOV C,INBIT
DJNZ R2,READ2B
RRC A
LCALL RONEBIT
MOV C,INBIT
JNC ReadEnd
LCALL RONEBIT ;first stop bit detected
MOV R2,A
SETB RI
ReadEnd:
CLR IE0
SETB EA
RETI
RONEBIT:
MOV R5,#92
DJNZ R5, $
RET
IRWrite:
CLR EX0
CLR EA ; don't let interrupts spoil your UART.
SETB OUTBIT ; startbit
LCALL ONEBIT
MOV R4,#8
WRIT20: MOV A,R2
RRC A
MOV R2,A
MOV OUTBIT,C ; databit
LCALL ONEBIT
DJNZ R4,WRIT20
CLR OUTBIT
LCALL ONEBIT
CLR IE0
SETB EX0
SETB EA
RET
ONEBIT: MOV R5,#16
DJNZ R5,$
CLR OUTBIT
MOV R5,#75
DJNZ R5,$
RET
Je to pro rychlost 9600, pro jinou je nutne prepocitat konstanty.
>No vyborne, jak? :-)
>
>Muzete se prosim rozpovidat? Myslim, ze par nestastnym majitelu A1018 to
rozhodne oceni..
>
>Diky,
>
>J.N.
>
>> >
>> >>To bude problem. IrDA je resena infraportem (DI-27 nebo u
>> novejsich Eriku
>> >DI-28), ktery v sobe ma prave i tu podporu pro SMS.
>> >>S nejvetsi pravdepodobnosti tedy provadi prevod z AT
>> prikazu pro SMS na
>> >prislusnou sekvenci AT*BINARY do Erika.
>> >>Dusledek: Bud lze komunikovat po RS v TTL bez SMS, nebo
>> pres IrDA, ale jen
>> >opticky...
>> >>
>> >>S pozdravem
>> >>Daniel Smid
>> >
>> >To by nebyl problem, ale jak tu IrDu k tomu dobastlit ? Kdyz
>> by na to bylo
>> >nekde schema a nebyla to zadna silenost, tak to uz pak cele
>> neni problem,
>> >ale kupovat ji je blbost, protoze za tu cenu se to uz nevyplati;-(
>> >
>> > Michal
>> >
>> >Problem to prece jen trochu je. IrDA interface se da ubastlit z
>> infratransceiveru (napr. HSDL1001001) a koderu/dekoderu (HSLD
>> 7000 , 7001) .
>> Ale problem nastane s implementaci IrDA protokolu. Minimalni
>> protokol je
>> specifikovan zde:
>http://www.irda.org/standards/pubs/litever10.pdf Zkousel
>jsem hledat, jestli to neni nekde na webu hotove pro Atmela, ale nic jsem
>nenasel.
>
>
>Jezis, proc tak slozite. Ja to mam s Atlelem uz davno ubastleno a chodi to
>bez problemu. Staci mi na prijem 5 tranzistoru, jedna dioda na pirjiem a
>jedna na vysilani a softwarove reseny UART a chodi to. (tedy pokud od toho
>nebudu chtit 115kBps).
>
> Michal
>
>
Další informace o konferenci Hw-list