Elektronika.lt
 2025 m. vasario 21 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 02 21, 14:43. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Atmega 16 i2c
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 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Atmega 16 i2c
PranešimasParašytas: 2008 02 18, 22:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ciklius
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Gal kas nors turite I2C soursa ?
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 07:12 Pranešti apie taisyklių pažeidimą Atsakyti su citata
n2o
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 13:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ciklius
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Šitą jau bandžiau Sad
Nepavyko. Niekaip negauna ACK.
Bandant atlikti duomenų siuntimą viskas pakimba Sad
Niekaip nesuprantu kame beda. Gal kokių nustatymų neįvedu.
Įsikeliu reikiamus failus ir bandau atlikti siuntimą.
Išbandžiau ir hardvarinį ir softwarinį.
Procas Atmega16 + PCF8583
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 16:03 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
juk viskas datasheet`e yra surašyta, parašyta, su visom smulkmenom Wink

_________________
nepamirškit, klysti žmogiška Wink
privatas - privatiems klausimams
arch linux Wink Smile
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 19:28 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ą
O užkabinai pull-up rezistorius?
Jei naudoji CodeVision tai ten yra gatava biblioteka ir I2C ir PCF8583, paleist labai paprasta, net pavyzdys yra kiek pamenu..
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 20:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ciklius
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Deja pas mane vista ir code vision neveikia:(

Naudoju avr studio.

As naudoju 4.7 k pulup rezistorius.


Paskutinį kartą redagavo Ciklius, 2008 02 20, 00:33. Redaguota 2 kartus(ų)
 Atmega 16 i2c
PranešimasParašytas: 2008 02 19, 20:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ciklius
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Pagaliau uzkuriau ta prakeikta i2c.
Jeigu kam idomu RTC PCF853 sourcas ant atmegos16

Source:


Funkcijos is AvrLib i2c sourco

    Kodas:

    // PCF8583.H
    #define PCF8583_WRITE_ADDRESS 0xA0
    #define PCF8583_READ_ADDRESS  0xA1

    // Register addresses
    #define PCF8583_CTRL_STATUS_REG    0x00
    #define PCF8583_100S_REG           0x01
    #define PCF8583_SECONDS_REG        0x02
    #define PCF8583_MINUTES_REG        0x03
    #define PCF8583_HOURS_REG          0x04
    #define PCF8583_DATE_REG           0x05
    #define PCF8583_MONTHS_REG         0x06
    #define PCF8583_TIMER_REG          0x07

    #define PCF8583_ALARM_CONTROL_REG  0x08
    #define PCF8583_ALARM_100S_REG     0x09
    #define PCF8583_ALARM_SECS_REG     0x0A
    #define PCF8583_ALARM_MINS_REG     0x0B
    #define PCF8583_ALARM_HOURS_REG    0x0C
    #define PCF8583_ALARM_DATE_REG     0x0D
    #define PCF8583_ALARM_MONTHS_REG   0x0E
    #define PCF8583_ALARM_TIMER_REG    0x0F

    // Use the first NVRAM address for the year byte.
    #define PCF8583_YEAR_REG           0x10

    // Commands for the Control/Status register.
    #define PCF8583_START_COUNTING     0x00
    #define PCF8583_STOP_COUNTING      0x80


    ///////////////////



    void PCF8583_write_byte(char address, char data)
    {
       cbi(TWCR, TWIE);
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_WRITE_ADDRESS);
       i2cWaitForComplete();
       i2cSendByte(address);
       i2cWaitForComplete();
       i2cSendByte(data);
       i2cWaitForComplete();
       i2cSendStop();
       sbi(TWCR, TWIE);
    }



    void PCF8583_write_bdc(int address, int data)
    {
    int sk1, sk2;

       sk1 = data % 10;
       sk2 = data / 10;
       sk2 = sk2 * 16;
       sk2 += sk1;
       cbi(TWCR, TWIE);
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_WRITE_ADDRESS);
       i2cWaitForComplete();
       i2cSendByte(address);
       i2cWaitForComplete();
       i2cSendByte(sk2);
       i2cWaitForComplete();
       i2cSendStop();
       sbi(TWCR, TWIE);
    }   

    //----------------------------------------------
    int PCF8583_read_byte(char address)
    {
       int datam, dt1, dt2;
       datam=0;
       cbi(TWCR, TWIE);
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_WRITE_ADDRESS);
       i2cWaitForComplete();
       i2cSendByte(address);
       i2cWaitForComplete();
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_READ_ADDRESS);
       i2cWaitForComplete();
       i2cReceiveByte(FALSE);
       i2cWaitForComplete();
       datam = TWDR;
       i2cSendStop();
       sbi(TWCR, TWIE);
       dt1 = datam & 0x0f;
       dt2 = datam >> 4;
       datam = dt2*10 + dt1;
       return(datam);
    }   

    int PCF8583_read_byte1(int address)
    {
       int datam;
       datam=0;
       cbi(TWCR, TWIE);
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_WRITE_ADDRESS);
       i2cWaitForComplete();
       i2cSendByte(address);
       i2cWaitForComplete();
       i2cSendStart();
       i2cWaitForComplete();
       i2cSendByte(PCF8583_READ_ADDRESS);
       i2cWaitForComplete();
       i2cReceiveByte(FALSE);
       i2cWaitForComplete();
       datam = TWDR;
       return(datam);
    }

    void PCF8583_init(void)
    {
    PCF8583_write_byte(PCF8583_CTRL_STATUS_REG,
                                  PCF8583_START_COUNTING);
    }   
 Atmega 16 i2c
PranešimasParašytas: 2009 01 27, 17:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
n2o
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai antko buvai pasimoves? dabar pats su ds1307 kankinuos...
 Atmega 16 i2c
PranešimasParašytas: 2009 01 28, 17:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
centronic
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
paprastas twi ds1307 pvz:
Kodas:

//*** IAR *** ATmega16 4.096 MHz ***
#include <ioavr.h>
#include <intrinsics.h>
#define bitas(PIN,BIT) (PIN &(1 << BIT))
#define TWINT 7
//************************************************
void TWI_Start(void){
  TWCR = 0xA4;
  while(1){
    if(bitas(TWCR,TWINT)){
      return;
    }
  }
}
//************************************************
void TWI_Stop(void){
  TWCR = 0x94;
}
//************************************************
void TWI_Write(unsigned char _data){
  TWDR = _data;
  TWCR = 0x84;
  while(1){
    if(bitas(TWCR,TWINT)){
      return;
    }
  }
}
//************************************************
unsigned char TWI_Read(void){
  TWCR = 0x84;
  while(1){
    if(bitas(TWCR,TWINT)){
      return TWDR;
    }
  }
}
//************************************************
void main( void ){
  DDRA = 255;
  TWBR = 42; // Fscl = Fclk / (16 + (2 * TWBR * 4^TWPS))
  TWI_Start();
  TWI_Write(0xD0); //DS1307 adr. 0b1101000(0) - rasyti
  TWI_Write(0x00); //Sekundziu adresas
  TWI_Start();
  TWI_Write(0xD1); //0b1101000(1) - skaityti
  PORTA = TWI_Read(); //skaito sekundes
  TWI_Stop();
  while(1){
  }
}


proteus simuliacija
 Atmega 16 i2c
PranešimasParašytas: 2009 01 29, 07:42 Pranešti apie taisyklių pažeidimą Atsakyti su citata
n2o
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
dekui pravers.
nors jau ir su softwariniu i2c susitvarkiau. ant start bito buvau susimoves..
 Atmega 16 i2c
PranešimasParašytas: 2009 03 03, 22:17 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Sarunas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
gal kas DS1307 su i2c.h avrlib paleidot. Nu niekaip negaliu. kaskaip neisein man jo paleist. jis ale gauna patvirtinimus, bet skaiciai tai nesikeicia jei bandai rasyt. ir septinta registra statant nesikeicia OUT kojos busena.
 Atmega 16 i2c
PranešimasParašytas: 2009 03 04, 11:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Sarunas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką MSN Messenger
paleidau, visu pirma buva Vbat i graunda nepajungtas. tada pas mane su skaitymu kashkas ne to. su avrlibu skaitant
i2cMasterReceiveNI(0xD0,8,&dstt[0]);

pastoviai gaunu kashkokius skaicius bet jie nesikeic.kodel nzn, reiks pabandyt pasiaiskint. pakolkas paleidau su tuo kodu kur centronic pateike.
Pradėti naują temą  Atsakyti į pranešimą
 
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

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
KCD2 Mods
Installing KCD 2 Mods, KCD 2 Guides, KCD 2 Cheats
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 Wiki
GTA 6 Map, GTA 6 Characters, GTA 6 News
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS 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