不知道是否有人做过DS1624,实验结果好像I2C没有正常工作,能帮忙看看这段I2C的程序是否有问题?谢谢~ void i_start(void) { SCL=1; delay(); SDA=0; delay(); SCL=0; delay(); }
void i_stop(void) { SDA=0; delay(); SCL=1; delay(); SDA=1; delay(); SCL=0; delay(); } void i_init(void) { SCL=0; i_stop(); }
void i_ack(void) { SDA=0; i_clock(); SDA=1; }
bit i_clock(void) { bit sample;
SCL=1; delay(); sample=SDA; _nop_(); _nop_(); SCL=0; delay(); return(sample); } 这应该是起始结束
bit start_temperature_T(void) { i_start(); if(i_send(0x90)) { if(i_send(0xee)) { i_stop(); delay(); return(1); } else { i_stop(); delay(); return(0); } } else { i_stop(); delay(); return(0); } } 这个读温度位不知道是不是正确地?
|