Elektronika.lt
 2024 m. lapkričio 22 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2024 11 22, 23:50. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » I2C bus
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 13
Pereiti prie 1, 2, 3  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 I2C bus
PranešimasParašytas: 2006 08 11, 09:29 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Gal kas nors gali paprasta kalba paaiskint kas tai per biesas kokiais budais tai apdorojama? Cia kiekviena pakopa reikia aprasyti programiskai ar yra mikrokontroleriu, kurie tam skirti. Turiu galvoj ar programiskai reikia nusiusti valdomos mikroschemos adresa po to programiskai nurodyti laukti patvirtinimo bito ir visa kita. O gal yra kontroleriu, kuriems pvz irasau valdomos mikr adresa ir kada (if ....) ka siusti, o proceduras kaip patvirtinimo bito laukimas, sinchronizacija daro pats mikrokontroleris?
Is anksto dekingas.

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 08 11, 09:39 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Jolantas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Paskaityk pavyzdžiui Atmegos32 datasheet'a ten kur rašo apie TWI (Two-wire Serial interface). Ten viskas paiškinta.
Sekmės...
 I2C bus
PranešimasParašytas: 2006 08 11, 10:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
SiNGLer
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
TWI palaiko ir atmega8 (jei pinigu gaila atmegai32) Wink

_________________
158 puslapiai neperskaitytu postu po ilgo nesilankymo:
Paskutinį kartą Jūs lankėtės 2007 01 03, 23:01
Dabar yra 2007 09 01, 21:30
 Re: I2C bus
PranešimasParašytas: 2006 08 11, 11:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Chulio rašo:
Gal kas nors gali paprasta kalba paaiskint kas tai per biesas kokiais budais tai apdorojama? Cia kiekviena pakopa reikia aprasyti programiskai ar yra mikrokontroleriu, kurie tam skirti.

Vien tik mikrokontrolerio I2C palaikymo neužtenka. Reikia 100% suprasti patį interfeisą. Nes tiek AVR, tiek Philips ARM, hardwarinis I2C gana sudėtingas, ir reikia suprasti kaip jį valdyti.
Paprasčiau netgi pačiam su portais generuoti visą seką. O smulkiau su visom laikinėm diagramom žr. bet kokiame PDFe kur I2C palaiko.
 I2C bus
PranešimasParašytas: 2006 08 11, 12:38 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Pati I2C veikimo principa as jau issiaiskines. Tik vo pagalvojau kokio dydzio programa bus Shocked jei visas pakopas (start, adresas, patvirtinimai, data, end) aprasyti ant porto. Ir neduok die praleisi netycia kokia komanda... Sad Idealus variantas butu mazdaug toks mikrokontroleris: nustatom kazkurias (tam numatytas) kojas SDA ir SCL, po to nurodom kada deti start, kokiu adresu ir kokiu eilishkumu siusti duomenis (DATA), kada deti end. O jau ten start, patvirtinimu, end signalus valdytu (zinotu kada ir kokius siust ir kada priimt) pats mikrokontroleris Cool

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 08 11, 13:05 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dreifas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
na dazniausiai buna bibliotekos parasytos. PVZ CodeVision arba WinAVR nereikia nieko kurit is naujo. Imi funkcija rasai adresa duomenis ir siunti.
 I2C bus
PranešimasParašytas: 2006 08 11, 14:14 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Mindaugasu rašo:
na dazniausiai buna bibliotekos parasytos. PVZ CodeVision arba WinAVR nereikia nieko kurit is naujo. Imi funkcija rasai adresa duomenis ir siunti.

Ta prasme nereikia aprasineti kiekvieno zingsnio? Tik adresas, duomenys ir vsio? Visa kita padaryta?

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 08 11, 16:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Bent aš tai paprogrames pasidaręs, ir viskas. Belieka jas iškviesti su reikiamais duomenimis, ir visą darbą atlieka. Jei reikia - sakyk. Duosiu.
 I2C bus
PranešimasParašytas: 2006 08 13, 16:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Kol kas ne. Noreciau pabandyt viska galutinai perkast pats. Visgi kai pats ishmoksti po to lengviau buna nei, kad paiimi "sukramtyta" Wink Paprastas pavyzdys: kai kas nors kelia rodo - didele tikimybe, kad kita karta nerasi, bet jei beklaidziodamas ieshkai ir surandi pats - kita karta tikrai nepasiklysi.... Wink

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 08 13, 18:35 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
i2c toks populiarus kad gatavu bilioteku bet kokiam skoniui yra, betkokia kalba, ir kiekvienam kompilatorisui po 10 varintau.
butu absurdas savo daryti.

siaip ten nieko labai sudetingo nera, tiesiog keletas baitu nosekliu budu perdudama ir viskas.

bet geraiu paciam neprasideti nes bus labai daug vargo derinant, ilys koks bereikalingas impulsas bur nors, ir galvosi diena kodel neveikia niekas.

as taip su PLL vargau, vis blogai ir blogai, nors protokolas elementarus.

vis neaisiku kur blogai ar daznumas suskaiciuotas netesingai, ar kokia klaida valdymo programoje.
 I2C bus
PranešimasParašytas: 2006 09 14, 14:56 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
vakaras rašo:
Bent aš tai paprogrames pasidaręs, ir viskas. Belieka jas iškviesti su reikiamais duomenimis, ir visą darbą atlieka. Jei reikia - sakyk. Duosiu.


Atsiusk i chulio666@one.lt , busiu dekingas. Dabar tai kuo toliau i miska, tuo daugiau medziu......... Crying or Very sad Nors, tas miskas gal jau truputi praretejes Wink Pagalvojau, gal su pavyzdziais paprasciau bus perkast. Didziausia beda tai, kad datasheet'ai anglu kalba, kuri pas mane silpnoka, wisgi mokykloj rusu ir prancuzu moke.. Aisku rusu kalba irgi nemazai visko yra, bet kolkas nepakankamai arba dar neradau to ko reikia Confused

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 09 14, 15:02 Pranešti apie taisyklių pažeidimą Atsakyti su citata
JAULER
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
Mindaugasu rašo:
na dazniausiai buna bibliotekos parasytos. PVZ CodeVision arba WinAVR nereikia nieko kurit is naujo. Imi funkcija rasai adresa duomenis ir siunti.
o kaip vadinasi ta biblioteka, ir kur ji yra?

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 I2C bus
PranešimasParašytas: 2006 09 14, 15:32 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Chulio rašo:
Atsiusk

Kodas:

#define SDA_set IO0SET_bit.P0_26
#define SDA_clr IO0CLR_bit.P0_26
#define SDA_dir IO0DIR_bit.P0_26
#define SCL_set IO0SET_bit.P0_22
#define SCL_clr IO0CLR_bit.P0_22
void I2Csoft_Start()
{
   SDA_set = 1;
   SCL_set = 1;
   __no_operation();  // NOP
   __no_operation();
   __no_operation();
   SDA_clr = 1;
   __no_operation();
   __no_operation();
   __no_operation();
   SCL_clr = 1;
}

void I2Csoft_Stop()
{
   SDA_clr = 1;
   SCL_clr = 1;
   __no_operation();
   __no_operation();
   __no_operation();
   SCL_set = 1;
   __no_operation();
   __no_operation();
   __no_operation();
   SDA_set = 1;
}

char I2Csoft_Send(char Data)
{  char A;
 
   for (A=0; A<8; A++)
   {  if (Data & 0x80) SDA_set = 1;
         else SDA_clr = 1;
      __no_operation();
      SCL_set = 1;
      __no_operation();
      __no_operation();
      __no_operation();
      __no_operation();
      Data <<= 1;
      SCL_clr = 1;
   }
   SDA_dir = 0;   // priemimas
   SCL_set = 1;
   if (SDA_data) A = 0; else A = 1;   
   SCL_clr = 1;
   SDA_dir = 1;   // vel siuntimas
   return(A);
}

Daryta ant ARM, ir suderinta ant maximalaus leistino greičio. Jei bus per greitai - tiesiog daugiau NOPų pridėk ir viskas.

I2C priėmimui po ranka dabar neturiu (tik namie). Bet ten irgi taip pat elementaru. Turiu ir per pertraukimus, tik ten žymiai sudėtingiau.
 I2C bus
PranešimasParašytas: 2006 09 15, 08:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dreifas
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
JAULER rašo:

o kaip vadinasi ta biblioteka, ir kur ji yra?


c:\WinAVR\avr\include\util\twi.h jeigu standartiskai instalinai.

Arba galima parsisiusti Proycon AVRLIB is cia http://hubbard.engr.scu.edu/embedded/avr/avrlib/
Tai cia rasi praktiskai bet kokio hardwaro bibliotekas. Tingint rasyti savo - labai patogus dalykas.
 I2C bus
PranešimasParašytas: 2006 09 15, 11:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Nėra tas hardwarinis toks jau sudėtingas. Štai funkcija (Atmega8):
Kodas:

#define false 0
#define true 1
#define i2c                     TWDR
#define i2cConf                 TWCR
#define i2cStatus               TWSR
#define i2cIntFlag              0x80   
#define i2cStart                0x20
#define i2cStop                 0x10     
#define i2cEn                   0x04
#define i2cStatusStart          0x08
#define i2cStatusSlaveACK       0x18 
#define i2cStatusDataACK        0x28

// Bit Rate: 384,000 kHz
TWSR = 0x00;
TWBR = 0x08;
TWAR = 0x00;

unsigned char I2CWriteByte(unsigned char I2Caddress, unsigned char adressH, unsigned char adressL, unsigned char data){
        unsigned char i = 0; 
repeatAll:       
        i++;
        if(i > 100) return false;
        i2cConf = i2cIntFlag | i2cStart | i2cEn;
        while (!(i2cConf & i2cIntFlag));
        if ((i2cStatus & 0xF8) != i2cStatusStart) goto repeatAll;
               
        i2c = I2Caddress;
        i2cConf = i2cIntFlag | i2cEn;         
        while (!(i2cConf & i2cIntFlag));
        if ((i2cStatus & 0xF8) != i2cStatusSlaveACK) goto repeatAll;
       
        i2c = addressH;
        i2cConf = i2cIntFlag | i2cEn;   
        while (!(i2cConf & i2cIntFlag));
        if ((i2cStatus & 0xF8) != i2cStatusDataACK) goto repeatAll;   
       
        i2c = addressL;
        i2cConf = i2cIntFlag | i2cEn;   
        while (!(i2cConf & i2cIntFlag));
        if ((i2cStatus & 0xF8) != i2cStatusDataACK) goto repeatAll;
               
        i2c = data;
        i2cConf = i2cIntFlag | i2cEn;   
        while (!(i2cConf & i2cIntFlag));
        if ((i2cStatus & 0xF8) != i2cStatusDataACK) goto repeatAll;
       
        i2cConf = i2cIntFlag | i2cEn | i2cStop;   
        return true;
}


Čia viskas, ko reikia.
Ši funkcija paima I2C čipo adresą, to čipo atminties adresą ir duomenis. Pamodifikavus galima pasirašyti paprogrames char duomenims ir burst mode'ui.
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie 1, 2, 3  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama