Kommunikáció AVR-ek között

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
Tom2tom
DrótVégénSzéndarab
Hozzászólások: 34
Csatlakozott: 2008. december 22. hétfő, 7:00

Kommunikáció AVR-ek között

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

Sziasztok,

Milyen módon érdemes 2 (mondjuk ATmega8 és ATTiny2313) AVR Chip között kommunikálni, ha az UART-ot a PC felé használom? Az SPI-t pedig a Chipek felprogramozására. Esetleg I2C? Hogyan kell Slave-ként beállitani mondjuk az ATTimy2313-at?

Kerestem a fórum témákban ilyet, de nem találtam. Kérem a segítségeteket.

Üdv: Tamás
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

I2Cslave - fizetős, 20 EUR.
SPI miért nem jó? A programozás nem kavar nagyon be, hisz ekkor úgyis resetben a chip. A trükk az, hogy ellenálláson át kötöd be a 2 chipet. Így a programozó a chip lábán van közvetlenül. Csak a chip van RESET állapotban, amelyiket programozod. Az ellenállás miatt nem tus a SPI kommunikáció belebeszélni. SPI Master és Slave a Bascom mintá közt megtalálható.

I2C-re (slave) az Arduino SW alapban fel van készítve... Esetleg a slave programot abban megírni?

Illetve 1-Wire s szóbajöhet... Master: adott. Slave: az alkalmazási minták közt itt az oldalon...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Nem tudom bele fér e a : 2K Bytes of In-System Self Programmable Flash –ba!
De még szóbajöhetne SW Uart is. 1*űbb kezelni mint a SPI-t. És csak 2 portot foglal.
Példa:

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

'open channel for output
Open "comd.3:19200,8,n,1" For Output As #1
Print #1 , "serial output"

'Now open a pin for input
Open "comd.4:19200,8,n,1" For Input As #2

'since there is no relation between the input and output pin
'there is NO ECHO while keys are typed
Print #1 , "Number"
'get a number
Input #2 , B
'print the number
Print #1 , B


'now loop until ESC is pressed
'With INKEY() we can check if there is data available
'To use it with the software UART you must provide the channel

Do
  'store in byte
  B = Inkey(#2)
  'when the value > 0 we got something
  If B > 0 Then
    Print #1 , Chr(b)                                     'print the character
  End If
Loop Until B = 27


Close #2
Close #1

8)

Ja és 2 Proci közé nem kel illesztés. (Ha közel vannak egyméshoz!)
Válasz küldése