- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT2402程序.doc
有关于AT24C02存储器的操作,C语言部分看不懂 unsigned long D[17]
IRcvStr(AT24C02, 0 , pDat[0], 8);
for (i=0; i4; i++)
{
D[14+i]=pDat[i*2+0]+pDat[i*2+1 ]*0x100;
Count*! = D[14];
以上是24C02main.c的程序
bit IRcvStr(unsigned char igned char no)
{
unsigned char i;
Start_l2c();
SendByte(sla);
if(ack==0)return(0);
Send 巳 yte(suba);
if(ack==0)return(0);
Start_l2c();
SendByte(sla+1);
if(ack==0)return(0);
for(i=0;ino-1 ;i++)
{
*s=RcvByte();
Ack_l2c(0);
s++;
}
*s=RcvByte();
Ack_l2c(1);
Stop_l2c();
return(1);
}
以上是24C02.C的部分程序
sla,unsigned char suba,unsigned char
r启动总线v /*发送器件地址7
/*发送器件子地址7
r重新启动总线*/
/*发送数据7 广发送就答位V
/*发送非应位V /*结束总线V
这个带星号的*s和24C02main的看不懂啊
*s,uns
2013-04-23 21:03 提问者采纳
1】*s是指针s所指向的内容。s++将改变地址,指向K一个字节存放地址。
2】主程序屮,pDat数组的地址是实参。子程序中s是形参。
主程序调用IRcvStr(AT24C02, 0,pDat[0】,8)函数,就是从地址为nAT24C02 (IIC器件地址宏名)的24C02芯片屮,从0起始地址连续读取8个字节内容,送 到数组pDat[]中。调用子程序时刻,s就是pDat[]的首地址。
在子程序里而,*s=RcvByte(); ... s++;实际的情况,可以这样理解: pDat[x]=RcvByte(); ... x++;
3】主程序屮将pDat[】连续的每两个字节,低地址在低8位,转换成1个整形 字。数组pDat的前8个字节,共4次转换,并把他们存放到数组D[14]、D[15]、 D[16]、D[17]四个元素中。
追问
我不明白的是PDAT[0],只冇0个元素怎么读取啊? D[14]=PDat[i*2]+PD at[i*2+1]*100怎么理解。就是这些数组把我晕了
回答
1】PDAT[0】表示数组的首地址。传递的并不是数组本身,而是数组的 首地址。
2】D[14+i]=PDat[i*2]+PDat[i*2+1】*100 你把 i=0......i=3 代进去看,如
下。再理解。
D[14]=PDat[0]+PDat[1 ]*0x100;
D[15]=PDat[2]+PDat[3]*0x100;
D[16]=PDat[4]+PDat[5]*0x100;
D[17]=PDat[6]+PDat[7]*0x100;
0x100是啥,表达式含义,你应该知道吧?
追问
count1=D[14]是指在数组里边地址为14这个地方的字节吗?还是数组D [14]有14个元素?问最后一次。
回答
你需要明白数组的声明和定义。
1】声明:unsigned int a[6];表示无符号整形数组,共有6个元素。只
允许声明一次。
2】定义:a[0]=1;……a[4]=b+1;最多a[5]=xxx。给元素赋值。下标0-5
表示对其中的6个元素分别访问。也可以在声明的同时定义。
追问
问题是这个D[14]屮的前而还冇一些元素D[1】...D[13].这些他是怎么处理 的。为什么非要访问D[14],D[1]不行吗?最不明白的就是D[14].不是只读 取八个字节的吗。?
可以加你的QQ吗? 这-部分,不能断章取义。最后算了半天,后而只有一句D[14]赋值给C ountl。我也看不明白。具体要看其整个程序设计屮关于数据部分的开发 约定。
从这段程序看,你的理解没问题。用哪个不是用呢,是吧?装Baidu Hi。
追问
周末再把程序发给你吧。实在搞不明0。这个赋值。现在在学校。
标题: EEPROM读写试验(按钮输入)*
此例程学员更进一步地熟悉并掌握(存储芯片AT2402)的操作,宥保存和读取 操作 *
了解掌握I2C总线接口的工作原理
TOC \o 1-5 \h \z 具体操作:第1个按钮保存 第2个按钮读取 *
第3个按钮减减 第4个按钮加数 *
★
希望学员认真体会消化此例程,试着用别的资源來操作EEPROM! *
#includeFunction
您可能关注的文档
- 4MBA其中一个课程 .doc
- 4P理论下香港晋盛科技有限公司市场销售管理论文(设计)..doc
- 4S店客户服务系统(语言编程).doc
- 4—5岁幼儿欺负行为现象分析及有效策略 .doc
- 4一次电气主要设备安装方案 .doc
- 4塑料模设计基础知识new(答案).doc
- 4年级人自然社会 .doc
- 4文献综述单缸发动机三维可视化虚拟装配教学实验系统研究.doc
- 4月13日广播稿冰心 .doc
- 4电子文件归档与整理规范.doc
- AT8951单片机对4×4矩阵键盘进行动态报告.doc
- ataPrtetr备份方案案例分析.doc
- ataServies抽数中文乱码解决方案.doc
- atasreening【英文】spss分析前的数据处理缺失数据,极端数据,正态检验和非正态处理.doc
- ATB25沥青稳定碎石配合比设计与优化调整.doc
- ATIA如何创建标准件库.doc
- ATuhnTheTranslatinfTraemark商标翻译技巧.doc
- auhyShwarz不等式的推广及应用.doc
- AURHTZ3001iagnseanrepairheavyvehileemissinntrlsy:aurhtz3001诊断和..doc
- AurraA在细胞有丝分裂中作用及与肿瘤关系 .doc
最近下载
- 小学生心理健康教育主题班会教案.docx VIP
- 糖尿病入院记录模板.docx VIP
- soap病历中医的书写课件.ppt VIP
- V90伺服驱动器与S7-1200通过FB284进行PROFINET通信的具体方法和步骤(非常详细).docx VIP
- 体育教学论:体育教学过程PPT教学课件.pptx VIP
- DB61_T 1741-2023 矿山生态监测规范.doc VIP
- 2025年广东省湛江市中考物理试题(含答案解析).pdf VIP
- 数字技术赋能基层社会治理研究.docx VIP
- 高考语文一轮复习-- 辨析修改语序不当、搭配不当病句——抓住病症,找出病因.doc VIP
- 北京市中国人民大学附属中学2025届高三年级10月质量检测练习化学试卷+答案.pdf VIP
文档评论(0)