完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
uchar R_word;
uchar ACK_Flag; uchar read_buffer_iic[16]; uchar write_buffer_iic[16]; void Start(void) { TSDA_IO_OUT(); TSCL_IO_OUT(); TSDA=1; TSCL=1;delay_us(10); TSDA=0;delay_us(10); TSCL=0; delay_us(10); } void Stop(void) { TSDA_IO_OUT(); TSCL_IO_OUT(); TSDA=0; TSCL=0;delay_us(10); TSCL=1;delay_us(10); TSDA=1; } void Send_Byte(uchar Byte) { uint i; TSDA_IO_OUT(); TSCL_IO_OUT(); TSCL=0; delay_us(10); for (i=0;i<8;i++) { if(Byte 0x80) {TSDA=1;} else {TSDA=0;} Byte = Byte << 1; delay_us(10); TSCL=1; delay_us(10); TSCL=0; delay_us(10); } } void ACK(void) { TSCL_IO_OUT(); TSDA_IO_IN(); TSDA=1; TSCL=1;delay_us(5); ACK_Flag = 0; if((RTSDA )) ACK_Flag = 1; TSCL=0; delay_us(10); } void ACK_0(void) { TSCL_IO_OUT(); TSDA_IO_OUT(); TSDA=0; TSCL=0; delay_us(10); TSCL=1; delay_us(10); TSCL=0; delay_us(10); } void NOACK(void) { TSCL_IO_OUT(); TSDA_IO_OUT(); TSDA=1; TSCL=0; delay_us(10); TSCL=1; delay_us(10); TSCL=0; delay_us(10); } void Receive_Byte(void) { uint j; R_word = 0x00; TSDA_IO_IN(); TSCL_IO_OUT(); delay_us(10); for(j=0;j<8;j++) { R_word = R_word << 1; TSCL=0; delay_us(10); if((RTSDA)) R_word+=1; delay_us(10); TSCL=1; delay_us(10); } } void I2C_75_write(uchar W_addruchar dat) { delay_us(10); Start(); Send_Byte(0x90); ACK(); Send_Byte(W_addr); ACK(); Send_Byte(dat); ACK(); Stop(); } void I2C_75_Read(uint R_addruchar n) { uchar i=0; Start(); Send_Byte(0x90); ACK(); Send_Byte(R_addr); ACK(); Start(); Send_Byte(0x91); ACK(); Receive_Byte(); ACK_0(); read_buffer_iic[0] = R_word ; Receive_Byte();ACK_0(); read_buffer_iic[1] = R_word ; NOACK(); Stop(); } //读取温度并处理数据 void readTEMP(void) { I2C_75_write(0x010x00); I2C_75_Read(02); delay_us(10); tempH=read_buffer_iic[0]; if((tempH 0x80)==0x80) { tempH-=0x01; tempH=~tempH; zhengfuflag=1; } //temp= read_buffer_iic[0] + (uint)(read_buffer_iic[1]*0.0625*0.0625); temprd= (float)tempH+ (float)(((read_buffer_iic[1]>>4) 0x0f)*0.0625); if(zhengfuflag==1){floattohex(0-temprd);}// |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
720 浏览 0 评论
932 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
442 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
1159 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
554 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11382 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 21:11 , Processed in 0.492893 second(s), Total 39, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号