dvě RS232 na jednom ATMEGA8
Moderátor: Moderátoři
dvě RS232 na jednom ATMEGA8
lze na jedné ATMEGA8 používat dvě komunikace RS232?
Tento úkol:
Atmega 8 č.1 zasílá pomocí jedné své linky (TX RX) data do druhé ATMEGA8 č.2 a pomocí druhé své linky Atmega8 č.1 zasílá data přes RS232 do PC....
dokáže toto atmega8 , prosím?
Komunikaci s další megou bych použil standardní seriovou linku TX RX AtMEGY8 a druhou seriovou linku na stejnem cipu bych vytvoril napriklad takto, slo by to, prosim?
$regfile = "m8def.dat" ' specify the used micro
$crystal = 10000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32
$swstack = 10
$framesize = 40
Dim B As Byte
Waitms 100
Open "comd.1:19200,8,n,1" For Output As #1
Print #1 , "serial output"
Open "comd.0:19200,8,n,1" For Input As #2
Print #1 , "Number"
Input #2 , B
Print #1 , B
Do
B = Inkey(#2)
If B > 0 Then
Print #1 , Chr(b) 'print the character
End If
Loop Until B = 27
Close #2
Close #1
End
http://www.mcu.cz/comment.php?comment.news.1504
-
bohous1
michalino píše:A dalo by se propojit SPI s PC? Aby bylo zachováno seriova komunikace mezi procesorama?
Možná by to chtělo, aby jsi malinko nastínil ten tvůj projekt. Co to má vlastně dělat, jak to je uděláno fyzicky, či jakou to má myšlenku.
Jinak všechno na světě jde, jen malé děti se musí nosit
SPI je primárně určeno k něčemu jinému, než komunikaci Atmega s PC. Ale jde to...
Ale jak ti již bylo nastíněno, pokud je to možné, ke komunikaci těch dvou Atmeg použij právě některou s uvedených "vnitřních" sběrnic SPI, I2C, a pod., či si napiš vlastní protokol, a tu RS232 použij pro komunikaci s PC.
Jinak samozřejmě pokud to jde v "C", jde to i v Bascomu. je to jen jiný způsob zápisu. Až to zkompiluješ, tak z toho bude strojový kód, a procesoru je poměrně jedno, v čem jsi to původně psal
-
Návštěvník
nejspíš další projektík bude I2C...
případně...nevíte, která ATMEGA má 2 seriové porty, kromě ATMEGA128?
to asi bude nejjednodušší řešení, i když mě mrzí, že v BASCOMU příkazy OPEN COM...... nevyužiju..
každopádně díky za názory a diskuzi, která mi dává přehled nad tím, do čeho se pustit..
díky
kdyby jakékoliv postřehy, dejte prosím vědět...
michalino píše:Čtu co mi přijde pod ruku akorát času je málo,takže to jde pomalu, do toho vše zkouším v praxi. Projekty jsou dílčí..teď jsem si říkal, že bych pomocí pc ovládal serva ... takový miniprojektík, který se mi dostává do maxi rozměrů...
nejspíš další projektík bude I2C...
případně...nevíte, která ATMEGA má 2 seriové porty, kromě ATMEGA128?
to asi bude nejjednodušší řešení, i když mě mrzí, že v BASCOMU příkazy OPEN COM...... nevyužiju..
každopádně díky za názory a diskuzi, která mi dává přehled nad tím, do čeho se pustit..
díky
kdyby jakékoliv postřehy, dejte prosím vědět...
A na co k tomu potřebuješ 2 x UART?
Z PC budeš data přenášet pomocí RS232, číst je budeš na Atmelu z UARTu, a generovat PWM na výstupu pro PWM - a tím budeš řídit to servo..
Nebo jsi to myslel nějak jinak?
Prvotní představa vypadala takto:
mám prvni atmega8, z té vysílám data po seriove lince do další atmega8, ktera ovlada svetla nebo serva. Navic tato druha atmega posila data o stavu svetel(svit) nebo serv(rychlost treba)do prvni atmega, ktera druhym UARTEM mi zobrazuje stav na PC pres rs232 ...
jedna se o to, jestli to vubec jde...tak jak je to popsane...v bascomu...
= 2 UARTY
-
petrfilipi
- Příspěvky: 2902
- Registrován: 13 zář 2005, 00:00
-
Návštěvník