View Single Post
Old 17-11-2009, 10:48 AM   #3
coidoi
Nhập môn đệ tử
 
Tham gia ngày: Sep 2007
Bài gửi: 6
:
Trích:
Nguyên văn bởi namqn View Post
Bạn đọc ở đây nhé, có code mẫu cho I2C viết bằng MPLAB C18:
http://namqn.byethost7.com/Commu.php#i2c

Thân,
Cảm ơn anh, nhưng em không viết lại các hàm I2C mà dùng các hàm xây dựng sẵn trong thư viện I2C.h của c18. Em post code của em lên anh xem giúp em với. Em cảm ơn anh nhiều!
Đây là đoạn code em viết thử ghi dữ liệu xuống ds1307:
Code:
#include "p18F2550.h"
#include "i2c.h"
#pragma config FOSC = HS,FCMEN = OFF,IESO = OFF
#pragma config PWRT = ON,BOR = OFF,BORV = 0
#pragma config WDT = OFF
#pragma config MCLRE = OFF,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF
#pragma config CP0 = OFF,CP1 = OFF,CP2 = OFF
#pragma config CPB = OFF,CPD = OFF
#pragma config WRT0 = OFF,WRT1 = OFF,WRT2 = OFF
#pragma config WRTB = OFF,WRTC = OFF,WRTD = OFF
#pragma config EBTR0 = OFF,EBTR1 = OFF,EBTR2 = OFF
#pragma config EBTRB = OFF 
void write_ds1307(void)
{
    OpenI2C(MASTER,SLEW_OFF);
    StartI2C();
    IdleI2C();
    WriteI2C(0xD0);
    IdleI2C();
    WriteI2C(0x02);
    IdleI2C();
    WriteI2C(0x22);
    StopI2C();
    
}
void main(void)
{
    TRISBbits.TRISB0=1;
    TRISBbits.TRISB1=1;
    SSPADD=5000000/100000-1;
    write_ds1307();
    while(1){}
}

thay đổi nội dung bởi: coidoi, 23-11-2009 lúc 09:17 AM. Lý do: định dạng code
coidoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn