Elektronika.lt
 2025 m. gruodžio 20 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 2025 12 20, 14:29. 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 33
Pereiti prie Atgal  1, 2, 3
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 I2C bus
PranešimasParašytas: 2006 09 22, 07:15 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Koki cipa tu nuskaityt nori? Jei savaitgali rasiu laiko permesiu datasheet. Gal kas uzklius uz akiu......

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 09 25, 10:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
BLASTER rašo:
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.

gal gali imest pilna programos pavyzdi i chulio666@one.lt, bo prasiknisau Evil or Very Mad visa savaitgali ir be teigiamu rezultatu.......... Crying or Very sad Crying or Very sad

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 09 25, 16:04 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dzonis
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Nu vat, laikrodukas PCF8583 su I2C interfeisu jau tiksi LCD ekrane.
Per keleta dienu pats atkapsciau kaip su juo susisneketi per I2C.
Kaip ir sakiau, norint irasyti reikia:
"Start", slave address su paskutiniu bitu ="0" (viso 8bit), gaunam ACK, memory location 8bit, gauname ACK, duomenys (kuriuos norime irasyti) 8bit, gauname ACK, "Stop"
Nuskaityti:
"Start", slave address su paskutiniu bitu "0" (viso 8bit), gaunam ACK,
memory location 8bit, gaunam ACK, "Start" slave address su paskutiniu bitu =1, gaunam ACK, nuskaitome 8 bitus ("1" siunciamas kaip Gnd, "0" kaip Vdd, nesusipainiokite. Taip pat reikia butinai SDA pin nustatyti ivedimo rezima, nes jeigu bus nustatyta kaip out ir isejime pasiliks "1" - Vdd, tai uztrumpinama grandine (kai slave siuncia ACK ar duomenu "1", tai SDA sujungia su Gnd), nusiunciam ACK ir "Stop".

Tik prijungus maitinima ir kvarca prie laikrodzio PCF8583 galima gauti tikslu 1Hz staciakampi signala INT pin'e (7), kuri galima iskart nuskaityti su uC arba tiesiog prijungti LED ir nuosekliai 1kOhm i Vdd.

Jei kazkam reiktu ASM kodo, tai galeciau imesti. Viskas parasyta elementariomis instrukcijomis, ~150 eiluciu.
 I2C bus
PranešimasParašytas: 2006 09 25, 20:24 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
būk geras dzoni įmesk tą programą, labai labai ačiū.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 I2C bus
PranešimasParašytas: 2006 09 26, 07:56 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dzonis
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Parasyk savo e-mail'a. Nenoriu cia sutalpinti visu 150 eiluciu.
 I2C bus
PranešimasParašytas: 2006 09 26, 14:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Chulio
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
imesk ir man chulio666@one.lt. Is anksto aciu.

_________________
I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life!
 I2C bus
PranešimasParašytas: 2006 09 26, 15:30 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
Dzonis rašo:
Parasyk savo e-mail'a. Nenoriu cia sutalpinti visu 150 eiluciu.
mano e-paštas yra prie aprašymo, bet tai neesmė, jauleris@yahoo.com. ačiū dar kartą.

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 I2C bus
PranešimasParašytas: 2006 09 27, 01:50 Pranešti apie taisyklių pažeidimą Atsakyti su citata
NoScript
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Dzonis rašo:
Parasyk savo e-mail'a. Nenoriu cia sutalpinti visu 150 eiluciu.

Tokiu atveju galima pasinaudoti pastebin.com

_________________
Don't drink and drive, just smoke and fly!
 I2C bus
PranešimasParašytas: 2006 09 27, 10:21 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dzonis
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
pasirodo ten >500 eiluciu.
Idejau: http://pastebin.com/795262
 I2C bus
PranešimasParašytas: 2006 09 28, 21:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
augyy
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
> Dzonis,
As laikroduka su PCF8583 siandien pakuriau per ~1val Very Happy CodeVisionAVR yra visa gatava biblioteka, tai panaudojau pora funkciju, getTime, setTime ir viskas. Aisku idomu ir gerai viska paciam isiaiskint, bet man reikejo greitai tai nuejau lengviausiu keliu. Ziuresiu tik kaip tas laikrodukas tiksliai eis, reikia paderint kondensatoriu kazkaip, bet testavimas toks daug laiko uzims :/
 I2C bus
PranešimasParašytas: 2006 09 29, 20:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dzonis
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Man tas laikrodukas kartais neuzsikuria, bet siek tiek statinio kruvio nuo pirsto ji atgaivina. Reiks kazka sugalvoti kaip viska uzdaryti korpuse.
 I2C bus
PranešimasParašytas: 2006 09 30, 09:12 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
Dzonis rašo:
Man tas laikrodukas kartais neuzsikuria, bet siek tiek statinio kruvio nuo pirsto ji atgaivina.

Kondensatorių apie 100pF užkabinti reiktų tarp OSC1 ir VCC. Padės.

Žinoma, paleidimas statinio krūvio pagalba irgi geras variantas Smile
 I2C bus
PranešimasParašytas: 2006 10 03, 23:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dzonis
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Uzkabinau keramikini 100pF kondika tarp OSCI - Vdd (+5V) ir visai nebeuzsikure...
Ar i Vss (0V) reiktu?
 I2C bus
PranešimasParašytas: 2006 10 04, 00:36 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ą
tu visai isprotejai, 100pf ?
su tokiu viska uzgesinsi.

reikia du kondensatorius i korpusa priklausomai nuo daznumo.
parpastai 5-20pf kai daznumas nuo 5-20mhz

jei tai laikrodinis kvarcas tai manau po kokius 30pf abiejose kvarco pusese i korpusa.
bet tiksliau reiktu datasheete pasiziureti ar kokiose nors panasu kvarca naudojanciose shemose.
 I2C bus
PranešimasParašytas: 2006 10 04, 20:27 Pranešti apie taisyklių pažeidimą Atsakyti su citata
augyy
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
pagal datasheeta ten vienas 5-25pF kondensatorius tarp OSCI ir Vdd. Toki dejau ir veike, nepastebejau kad kazkada neuzsikurtu
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2, 3
 
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

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

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
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama