完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
搞一下午还是没亮,求指导,到底哪有问题??
#include #define uchar unsigned char #define uint unsigned int ***it sda=P2^0; ***it scl=P2^1; void delay() { ;; } void delay1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void start() //开始信号 { sda=1; delay(); scl=1; delay(); sda=0; delay(); } void stop() //停止 { sda=0; delay(); scl=1; delay(); sda=1; delay(); } void respons() //应答 { uchar i; scl=1; delay(); while((sda==1)&&(i<250))i++; scl=0; delay(); } void init() //初始化 { sda=1; delay(); scl=1; delay(); } void write_byte(uchar date) //写数据 { uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; scl=0; delay(); sda=CY; delay(); scl=1; delay(); } scl=0; delay(); sda=1; delay(); } uchar read_byte() //读数据 { uchar i,k; scl=0; delay(); sda=1; delay(); for(i=0;i<8;i++) { scl=1; delay(); k=(k<<1)|sda; scl=0; delay(); } return k; } void write_add(uchar address,uchar date) { start(); write_byte(0xa0); respons(); write_byte(address); respons(); write_byte(date); respons(); stop(); } uchar read_add(uchar address) { uchar date; start(); write_byte(0xa0); respons(); write_byte(address); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date; } void main() { init(); write_add(3,0xaa); delay1ms(100); P0=read_add(3); }
|
|
相关推荐
2个回答
|
|
|
本帖最后由 爱我别走 于 2013-7-16 02:43 编辑
在12M晶振测试下,void delay(){ ;; }执行时间为调用时间2us(LCALL)+返回时间2us(RET)=4us, 而按照I2c协议延时应>4.7us。可以在关键延时的地方加上5个_nop_()语句(需要包含intrins.h)。
最佳答案
|
|
|
|
|
爱我别走 发表于 2013-7-16 02:41 好的,谢谢,。郭天祥的视频略坑了。加三个nop都没用 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:23 , Processed in 0.513554 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4575