摘要: 这两日,在写一个RTC时钟的驱动程序,芯片是周立功公司生产的PCF8563,总线是IIC的,在严格按照技术手册上的IIC时序写完之后。在测试程序里不能正确的读取日期中的分钟和秒数据,上网查了好久,也没有查到这方面的资料。最后,解决的办法很诡异在每次读取日历数据前,要先进行一次写数据,不论写什么,只要是合法数据就可以。 while(1){ Write(0x00,0x00); sec=Read(0x02); //读取秒数据 min=Read(0x03);//读取分钟 hour=Read(0x04);//读取小时 hour &= 0x3f;//取出小时的有效位 day=Read(0x0... 阅读全文
posted @ 2013-03-30 16:01 醉剑客 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 今天在看c陷阱与缺陷这本书时,无意中发现了这条语句,a+++++b,我最初的理解是a++ + +++b,但是在VS2010和IAR WorkBench上跑都是编译错误,于是我便查了资料:int a=1,b=1; int c=a+++++b; printf("c=%d/n",c); 这段代码是无法通过编译的。 解释如下: 1、首先介绍一些基本的概念 1)、大嘴法,又称贪心法: 如果(编译器的)输入流截止至某个字符之前都已经被分解为一个个符号,那么下一个符号将包括从该字符起之后可能组成一个 符号的最长字符串。也就是说,每一个符号应该包含尽可能多的字符。换句话说,编译器将程序分解 阅读全文
posted @ 2013-03-30 15:53 醉剑客 阅读(212) 评论(0) 推荐(0) 编辑