在MCU-51中,郭天祥的程序如下,其含义是读IIC器件的字节。有两个问题不太明白

问题描述

在MCU-51中,郭天祥的程序如下,其含义是读IIC器件的字节。有两个问题不太明白

1.k是不是应该显式为0?
2. = (k << 1) | sda;k是一个字节,八位,sda是一位,这两个怎么求或?c语言语法是怎么样规定的
void IIC_ read_byte()
{
uchar i, k ;
scl = 0;
delay_us();
sda = 1;
for(i = 0; i < 8; i++)
{
scl = 1;
delay_us();
k = (k << 1) | sda;
scl = 0;
delay_us();
}
delay_us();
return k;
}

解决方案

显式为0更好,或的时候sda理解成8位二进制

时间: 2024-10-29 11:06:33

在MCU-51中,郭天祥的程序如下,其含义是读IIC器件的字节。有两个问题不太明白的相关文章

郭庆祥:将艺术批评进行到底

本报记者 陈相乐 北京报道 "1992年,郭庆祥放弃了经营多年的服装和家具生意,成立玥宝斋,涉足书画收藏与投资.第一次参加竞拍,郭庆祥花8万元拍下何香凝的花卉作品,花38万元拍下徐悲鸿的奔马图.后经专家鉴定,他拍下的奔马图并非真迹,高价拍来的画作转眼成了一张废纸.之后郭庆祥开始四处走访名家,研究艺术史.后来他的个人收藏包括吴冠中.黄胄.潘天寿.李可染等近现代国画家的作品,那些十多年前入手的藏品,如今市场价格已经翻了数倍."在不久之前的一期<南方周末>中,作者详细描述了郭庆祥

js中回调函数问题,程序进不了回调函数

问题描述 js中回调函数问题,程序进不了回调函数 我这段代码的回调函数哪出错,请各位大神指教 function req(){ createRequest(); var zipcode=document.getElementById(""zipcode"").value; var url=""b.jsp?zipcode="" + escape(zipcode); request.open(""POST&quo

winform中 将DataGrid中的数据导入Excel中,并显示Excel应用程序

datagrid|excel|程序|数据|显示    /// <summary>        /// 将DataGrid中的数据导入Excel中,并显示Excel应用程序,        /// 注意调用该方法必须有安装Excel 2000应用程序,并且假定DataGrid中绑定的是一DataSet        /// </summary>        /// <param name="grid"></param>        /

在 Intranet 环境中保护 .NET Web 应用程序

web|程序 Microsoft Corporation内容简介 基于 Intranet Web 应用程序的安全性并不是不重要,因为它存在于许多控制网络中,并且对一个限制集合中的用户是可以访问的.不同个体和部门可能需要对应用程序提供的功能和数据有不同的访问等级,所以在传输过程中仍然必须保护机密数据的安全性.为了使问题复杂化,应用程序的安全性结构必须补偿任何安全性相关的问题,这些问题源于存在的基础和要配置应用程序的 Intranet 的操作特点. 通过关注某些常用分布式应用程序结构的要求,本章介绍

ASP.NET2.0中创建基于XML应用程序

XML是目前在Web上应用很普遍的一项技术,而在.NET 2.0中,则提供了更为丰富的功能,使得在创建XML应用的时候更加得心应手.在本文中,将简单以一个例子来说明,.NET 2.0在创建XML应用时的一些新特性. 首先,我们平常在创建Web应用时,都会选择以数据库的形式来存贮数据的,但如果要以纯XML来存贮数据的话,那的确会是种挑战.在.NET 1.0/1.1框架中,对XML的支持功能有限,比如对同一应用中的多个XML文件的支持.在.NET 2.0中,这种情况得到了改变,增加了新的功能,比如:

在NetBeans IDE 6.0中开发通用Java应用程序简介

本简明教程将演示如何在 NetBeans IDE 6.0 中开发 Java SE 应用程序.本教程假定您对 Java 应用程序的开发已比较熟悉.在讲解过程中,我们将演示如何通过一些 IDE 特性简化应用程序开发. 我们将开发一个单词转换应用程序,用于将多个英文单词转换为一个英文单词.生成单词的构成形式为第一个词的第一个字母.第二个词的第二个字母.第三个词的第三个字母,依此类推.该生成词称为 离合词. 建立项目 我们创建的应用程序将包含两个项目: 具有实用程序类的 java 库项目. 具有 mai

asp 中西文混合式字符截取程序

中西文混合式字符截取程序 function CutStr(byVal val,byVal length,byVal endStr)   Dim l,t,c,i   If val = "" Or IsNull(val) Then    CutStr = ""    Exit Function   End If   If length = "" Or Int(length) <= 0 Or IsNumeric(length) = False T

如何在Windows8中设置使用某一程序打开某一文件类型

  1.在需要修改默认程序的文件上点击鼠标右键,将鼠标移动到弹出菜单中的"打开方式(H)",然后在右侧列表中找到所需要的程序并点击,即可使用该程序打开该文件类型的文件.如下图所示: 2.上述步骤仅作为单次需要打开,如果需要将某程序设置为默认打开该类型文件,或者系统未识别出对应的程序,我们可以按照下图所示点击"选择默认程序(C)-". 3.在弹出的对话框中,务必勾选中"所有.pdf文件都用这个应用打开",再点击列表中的程序如"Window

sqlite-如何将导入到数据库表中的数据保存在程序中,而不用每次换调试机时还得重新导入数据

问题描述 如何将导入到数据库表中的数据保存在程序中,而不用每次换调试机时还得重新导入数据 如题:我有一张excel的表,我将其存为.csv文件,然后通过dos命令下的sqlite3命令导入到了数据库表中,问题是如果不换机子,导入到该数据库表中的数据永久有效.如果我换机子调试的话,该数据库表中的数据就不存在了,会报错,请问有没有解决办法?谢谢! 解决方案 最好存入远程数据库每次启动同步下来数据就可以了,sqlite是系统自带的数据库具体的就是http://blog.csdn.net/tianyit