完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在做ATMEGA16 TWI功能读取AT24C02的 程序,再读取的时候一直读取的8位 都是1,哪位大哥 可以帮着看看程序,问题出现在哪,小弟非常感谢。#include
#define RE_START 0x10 #define MT_SLA_ACK 0x18 #define MT_SLA_NOACK 0x20 #define MT_DATA_ACK 0x28 #define MT_DATA_NOACK 0x30 #define MR_SLA_ACK 0x40 #define MR_SLA_NOACK 0x48 #define MR_DATA_ACK 0x50 #define MR_DATA_NOACK 0x58 unsigned int a,b; void delay(unsigned int time) { for(a=0;a<10;a++) for(b=0;b } void start(void) { TWCR=(1< void stop(void) { TWCR=(1< void wait(void) { while(!(TWCR&(1< void write(unsigned char date) { TWDR=date; TWCR=(1< void re_set(void) { TWCR=(1< unsigned char write_IIC(unsigned char adress,unsigned char date) { start(); wait(); if((TWSR&0xf8)!=START) return 1; write(0xa0); wait(); if((TWSR&0xf8)!=MT_SLA_NOACK) return 1; write(adress); wait(); if((TWSR&0xf8)!=MT_DATA_NOACK) return 1; write(date); wait(); if((TWSR&0xf8)!=MT_DATA_NOACK) return 1; stop(); return 0; } unsigned char read_IIC(unsigned char adress) {unsigned char temp; start(); wait(); if((TWSR&0xf8)!=START) return 1; write(0xa0); wait(); if((TWSR&0xf8)!=MT_SLA_NOACK) return 1; write(adress); wait(); if((TWSR&0xf8)!=MT_DATA_NOACK) return 1; start(); wait(); if((TWSR&0xf8)!=RE_START) return 1; write(0xa1); wait(); if((TWSR&0xf8)!=MR_SLA_NOACK) return 1; TWCR=(1< if((TWSR&0xf8)!=MR_DATA_ACK) return 1; PORTD=TWDR; stop(); return temp; } void main(void) {DDRD=0xff; DDRC=0xff; DDRA=0x0f; PORTB=0xff; TWBR=0x20; TWCR=0x04; TWSR=0; DDRB=0xff;PORTD=0Xff; PORTB=write_IIC(0x03,0x03); while(1) { delay(1000); PORTA=read_IIC(0x03); delay(1000); } } |
|
相关推荐
2个回答
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】简介、环境搭建、工程测试
177 浏览 0 评论
312 浏览 0 评论
imx6ull裸机编程,使用宏定义无法驱动,使用指针就可以驱动
691 浏览 1 评论
《DNK210使用指南 -CanMV版 V1.0》第三十二章 音频FFT实验
384 浏览 0 评论
飞凌嵌入式ElfBoard EL 1板卡-i2c与从设备通讯编程示例之i2c-tools工具使用
1284 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11620 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 02:25 , Processed in 0.483950 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号