为何不看它的手册呢? |
wang2 发表于 2018-12-10 17:05 你这是干什么?? |
#include "iic.h" void delay() { ;; } void delay10ms() { int a,b; for(a=50;a>0;a--) for(b=200;b>0;b--); } void nack() { scl=1; delay(); sda=1; scl=0; delay(); } void start() { sda=1; scl=1; delay(); sda=0; delay(); } void stop() { sda=0; scl=1; delay(); sda=1; delay(); } void ack() { uchar i; scl=1; delay(); while((sda==1)&&i<520) i++; scl=0; delay(); } void write_byte(uchar date) { uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; sda=CY; delay(); scl=1; delay(); } scl=0; delay(); sda=1; } uchar read_byte() { uchar i,j,k; scl=0; delay(); for(i=0;i<8;i++) { scl=1; delay(); j=sda; k=(k<<1)|j; scl=0; delay(); } return k; } void write_at24c32(uchar address,uchar date) { start(); write_byte(0x57); ack(); write_byte(address); ack(); write_byte(date); ack(); stop(); } uchar read_at24c32(uchar address) { uchar date; write_byte(0x56); ack(); write_byte(address); ack(); start(); write_byte(0x57); ack(); date=read_byte(); nack(); stop(); return date; } |
|