Vizitator chiar_eu Postat Martie 1, 2007 Partajează Postat Martie 1, 2007 ' ***************************************************************************** ' * Title : EEPROM programmer.bas ' * Last Updated : 05.03.2006 ' * Target device: At90s2313, 24C32 ' * Author : http://www.avrprojects.net ' * Program code : BASCOM-AVR ' * Hardware req. : ' * Description : ' * This application reads and writes one page at a time to an 24c32 EEPROM connected to an ' * AT2313 microcontroller. ' ***************************************************************************** Dim D_w As Byte , D_r As Byte , Adress As Byte , E_adr As Byte , E_dat As Byte , I As Byte , Count As Byte Dim Rw As String * 1 , Datastr As String * 32 Dim E_data(16) As Byte Config Scl = Portb.0 'assign the SCl line to PORTD.0 Config Sda = Portb.1 'assign the SDA line to PORTD.1 'Declare Sub Byteread 'Declare Sub Bytewrite Declare Sub Pagewrite Declare Sub Pageread Main: Do Input "®ead page / (W)rite page?" , Rw If Rw = "R" Or Rw = "r" Then Goto Read_eeprom If Rw = "W" Or Rw = "w" Then Goto Write_eeprom Loop End 'end program Read_eeprom: Do Input "Read EEPROM page :" , Adress Print Adress ; ":" ; E_adr = Adress * 16 Call Pageread For I = 1 To 16 Print E_data(i) ; ","; Next I Print Loop Write_eeprom: Do Input "Write EEPROM page :" , Adress For I = 1 To 16 Input "Input byte ";i;" :" , E_data(i) Next I Print Adress ; ":" For I = 1 To 16 Print E_data(i) ; ","; Next I E_adr = Adress * 16 Call Pagewrite Print Loop '********** page write to EEPROM *************************************************** Sub Pagewrite I2cstart 'generate start I2cwbyte &B1010_0000 'send device address I2cwbyte &H00 'H adress of EEPROM I2cwbyte &H00 'L adress of EEPROM For I = 1 To 16 D_w = E_data(i) I2cwbyte D_w 'data to EEPROM Next Adress I2cstop 'stop condition Waitms 10 End Sub Pagewrite '********** page read from EEPROM ************************************************** Sub Pageread I2cstart 'generate start I2cwbyte &B1010_0000 'send device adsress I2cwbyte &H00 'H address of EEPROM I2cwbyte E_adr 'L address of EEPROM I2cstart 'repeated start I2cwbyte &B1010_0001 'slave address (read) For I = 1 To 16 I2crbyte D_r , Ack 'data to EEPROM E_data(i) = D_r Next I I2crbyte D_r , Nack 'read byte from EEPROM I2cstop End Sub Pageread 'generate stop '********** byte write to EEPROM *************************************************** 'Sub Bytewrite 'I2cstart 'generate start 'I2cwbyte &B1010_0000 'send device address 'I2cwbyte 0 'H adress of EEPROM 'I2cwbyte 0 'L adress of EEPROM 'I2cwbyte D_w 'data to EEPROM 'I2cstop 'stop condition 'Waitms 10 'End Sub '********** byte read from EEPROM ************************************************** 'Sub Byteread 'I2cstart 'generate start 'I2cwbyte &B1010_0000 'send device adsress 'I2cwbyte &H00 'H address of EEPROM 'I2cwbyte &H00 'L address of EEPROM 'I2cstart 'repeated start 'I2cwbyte &B1010_0001 'slave address (read) 'I2crbyte D_r , Nack 'read byte from EEPROM ' I2cstop 'generate stop 'End Sub Byteread Link spre comentariu
Vizitator Vasile Postat Martie 1, 2007 Partajează Postat Martie 1, 2007 BASCOM AVR ii zice la Programul pe care trebuie sa-l folosestiai erori in programError : 1 Line : 25 Unknown statement [MAIN]Error : 1 Line : 33 Unknown statement [READ_EEPROM]Error : 1 Line : 45 Unknown statement [WRITE_EEPROM] Link spre comentariu
Vizitator musaraf Postat Martie 2, 2007 Partajează Postat Martie 2, 2007 Se pare ca problema era cu ceva spatii dupa label-uri (Main:, Read_eeprom:, Write_eeprom:), daca se sterg compileaza.Si i-am mai pus un $regfile = "2313DEF.dat" la inceput. Compilat si cu o varianta mai veche de Bascom (cu aia noua nu stiu daca alege corect chipul).HEX-urile si BAS-ul a trebuit sa le pun ca DOC, ca nu ma lasa altfel.Sper sa-ti mearga. Link spre comentariu
Vizitator chiar_eu Postat Martie 12, 2007 Partajează Postat Martie 12, 2007 vreau sa creez un hex compatibil cu interfata de la http://www.tmw.netlook.pl am facut copie dupa interfata lor dar nu o vede softul...:smt004 pot pleca de la aplicatia http://www.avrprojects.net/articles.php?lng=en&pg=72 dar nu stiu cum sa fac .bas-ul cu ce am eu nevoie :toimonster: Ma poate ajuta cineva? Platesc gras!!!!!! Link spre comentariu
Vizitator chiar_eu Postat Martie 17, 2007 Partajează Postat Martie 17, 2007 am citit pedefeul de modificare de la at90s2313 la atinny2313 dar nu am brighidit care-i shmenul. Poti Vasile sa-mi compilezi aceeasi traba pentru attinny2313?Berea vine la B1 de la Iri ...varu-miu! :partyman: Link spre comentariu
Vizitator Vasile Postat Martie 17, 2007 Partajează Postat Martie 17, 2007 nu stiu nici eu care-i faza, ce stiu e sa programez daca am softu :smt007 :smt005 :smt007 Link spre comentariu
sofian Postat Martie 17, 2007 Partajează Postat Martie 17, 2007 softul ala nu face nimic altceva decit sa scrie si sa citeasca dintr-un eeprom 24c32 conectat la pini PORTD.0 si PORTD.1 ca sa se conecteze cu o interfata mai trebuie lucrat "putin" la soft Link spre comentariu
Vizitator chiar_eu Postat Martie 21, 2007 Partajează Postat Martie 21, 2007 softul ala nu face nimic altceva decit sa scrie si sa citeasca dintr-un eeprom 24c32 conectat la pini PORTD.0 si PORTD.1ca sa se conecteze cu o interfata mai trebuie lucrat "putin" la softpai nu am nevoie musai de interfata aia...am inteles ca ea doar are prememorate niste linii cu cod cunoscut pe care le incarca in locul celor necunoscute...eu vreau doar sa mearga aplicatia de i2c reader writer de la avr projects, dar deocamdata nu pot accesa aplicatia lor de hyperterminal...da o eroare...This is a terminal program that you can use for serial communication with you microcontrollers. It is written in Visual Basic.Net. The program is simple to use. To use the program a file called port.dll needs to be placed in the same folder as the AVR Terminal.exe file. All the files can be downloaded at the bottom of this page. Within the program the Com ports 1 to 8 can be choosen and also the baud rate from 300 to 19200 baud. The screen is divided in 2 areas, one for the input and one for the output. If you enter text in the input area and push [ENTER] the input area will automatically be cleared.http://www.avrprojects.net/articles.php?lng=en&pg=68 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum