最近一个超声项目需要用到端口扩展功能,经过一番调研,决定选用PCF8574这款I2C总线的芯片,然后开始看数据手册,组实验板,经过一番忙碌,材料齐全,准备开始调试,之前已经做好了I2C的程序,烧入单片机,运行,状态不对?诧异,很是诧异,然后我就开始了我那冤屈的、痛苦的苦难之旅,为什么这么说,看官您请往下看。
开始我以为是程序中时序匹配的问题,于是开始用示波器查看,经过一番查找,最后确定时序没问题,开始郁闷——。
然后我以为是硬件损坏,然后检查PCF8574,型号是PCF8574T,没错,然后在数据手册中曾看到中断是自动响应的,然后我就在输出管脚上加逻辑电平,高低,高低,高高低低,反复测试后,最后确认,芯片的中断脚是有输出的,说明芯片应该或者说基本是好的,没坏,然后对程序进行了简单修改,测试,当满怀信心的测试后发现,芯片还是没响应,情绪开始低落,很是郁闷——。
为了确认芯片的好坏,我在这之后还是决定不管三七二十几,换芯片!!!然后准备烙铁、工具等,焊下原有芯片(在焊下的一瞬间,脑子里飞快的闪过一念头,坏的扔了得了,但是抬头一看老板在,马上作出了违背我良心的决定,保存!!!鄙视我一次),装上新的芯片,清理工作台,重新测试,老状况,老现象,崩溃!!!!
于是我就开始疯狂的修改程序,加延时,测试,不行;加逻辑,测试、不行;加协议代码,测试,不行;单字节通信,测试,不行;多字节通信,不行;只读,测试,不行;只写,测试,不行,这时候我感觉我自己要崩溃了,程序作了这么多年,硬件调了那么多次,难不成今天我黑腿哥要将一世英名丢在此吗?不行,重来,将上面的过程重复一便,还是不行,崩溃了,感觉被打败了——!!!
于是将手册打出来,重新翻看了几遍,没想法?再看,还是没发现,情绪开始低落,资料扔在一边,上网,聊大天——,经过一阵休整,刚要准备重新来过,却发现天色已晚,算了,下老子的班,让老板瞪眼去吧!!!!!!!
转过天来,本将军经过一夜休整,精神抖擞,豪气万丈,上班第一件决定就是管他他奶奶的,再战江湖,于是第一天的情景又重新演义了一遍,到下班时,调试结果还是涛声依旧,一如既往,没有任何反映,PCF8574就好象死了一样,怎么都没反映,就好象是哑巴聋子一样,不管你怎么招呼,他就是没有反映,已经彻底崩溃,于是决定再次休战,明日再来!!!!!!
又是迷乱的一夜,晚上做梦时,看到PCF8574就象一座大山,横在心上,太他*的堵心了,老子今天不调了,你不是不理我吗?老子也不理你,看谁吊!!!!!于是收拾,洗梳,上班。
到了单位,在我那龙椅上一做,脑子里马上就闪出一个**的念头,再调?不干!老子怎能连这么点诱惑也受不了,坚决不干!!!——————
一天过去了——,不干!两天过去了,不干!一周过去了,老子还是不干,看你能把老子咋地?
于是,周一,一大早就看到老板在技术部晃,晃来晃去,晃来晃去,开始我没怎么往心里去(打了这么多年鹰,,怎么地也不能叫家雀给吓着),后来这*人晃到我跟前,一脸关心状的说“xx,xxx项目怎么样了”,这时候老子终于明白是狼来了!!!!于是很是一脸无辜样的说,我在做另一项目,这个东西基本快结了,但要整理一下,您什么时候要呢,然后*人一脸高兴状的告诉我,大概下周一吧。
感谢老天,还有一周,于是决定不动手,先上网、下资料、找心得,经过一天忙碌,下班。转天过来,一上班,脑子里面突然闪出一个非常之——,怎么说呢,难以形容的念头:这PCF8574不会是假的吧,这念头一出来,脑子里马上出现一个声音:胡说嘛呀!,但是我还是以令人难以置信方式,作出了很大胆的举动,换换地址,把PCF8574的地址0X40(0X41)换成PCF8574A的地址0X70(0X71),然后上电,通信、测试,好了?不可能,再测,还是好的,擦擦眼睛,查看了一遍芯片型号,没错,就是PCF8574,于是马上明白了,于是开始愤怒,非常的愤怒,在心里面把*商的上八代加下八代的女性YY了180遍,他*的无良*商,把PCF8574A的芯片整成PCF8475来卖,我太冤了,弄个假的PCF8574调了近两周,那曾想,确是一个PCF8574A。
最后,不由的想说,*商!!!我拿什么来疼你!!!!!!!!
关键字:PCF8574调试 单片机
引用地址:
PCF8574调试的沉痛经历
推荐阅读最新更新时间:2024-03-16 14:04
基于51单片机的多功能时钟温度计 DS1302+LCD1602
本设计是由STC89C52单片机为控制核心,具有在线编程功能,低功耗;时钟电路由DS1302提供,它是一种高性能、低功耗的时钟电路,工作电压为3V~5V;所以采用DS1302作为本设计的日历芯片;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、晶显示部分组成。 电路原理图如下: 制作出来的实物图如下: Altium Designer画的
[单片机]
PIC单片机的EEPROM读写实例及说明
; PIC单片机的EEPROM读写实例及说明 ;**************************************************************************** ; This is a program to test the function of reading&writting for EEPROM. ; You can observe the value of register(30H--?) buy changing "VALU" and "WRC_". ; Notice that:it must be { ADDR+WRC_ =0ffh } ! ;******************
[单片机]
用了这么多年的MCU,你知道哪些MCU原厂最牛?
单片机诞生于1971年,经历了SCM、 MCU 、SoC三大阶段。单片机由以前的1位、4位、8位、16位,发展到现在的32位甚至64位。 90年代后随着消费电子产品大发展,单片机技术得到了巨大提高,相继诞生了一批经过市场考验获得良好口碑的单片机制造厂商,下面一起来看看MCU芯片原厂及其产品介绍: 国外厂商: 1、 瑞萨 电子(Renesas) 总部:日本 瑞萨是MCU领域的王者,绝对的领头羊,他是由瑞萨、NEC、三菱这三家公司组成的MCU巨无霸,在车机市场拥有第一的市场份额。他们有获得ARM的授权,不过不是用来做MCU的,是用来做处理器的,MCU都是用瑞萨自己的架构。 2、恩智浦(NXP)+飞思卡尔(Free
[单片机]
STC89C52单片机串口调试
///////////////////////////////////////////////////////////////////////// 实现功能:从电脑上的串口调试助手向实验板发送字符串,实验板接收到字符串后 会按发送过来的字符串返回到串口调试助手上,注意在调试串口是应该 把USB旁边的跳线帽从USB一边插到DB9上 实验板型号:KBL-XYD-C52 实验名称: 串口接收、发送实验 编写人: 谢应东 编写日期: 2012-4-24 /////////////////////////////////////////////////////////////////////
[单片机]
ATMega16单片机外部中断的使用
// Crystal: 7.3728M Hz ,功能:学习外部中断0的程序 #include iom16v.h #include macros.h #define LED _COM PORTA ^= (1 PA6) // void port_init(void) { PORTA = 0x40; DDRA = 0x40; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x04; DDRD = 0x00;
[单片机]
先楫半导体与好上好信息达成战略合作,聚焦工业汽车市场
近日,国产高性能RISC-V架构MCU芯片厂商上海先楫半导体科技有限公司(下称“先楫半导体”)与国内领先的电子元器件分销商深圳市好上好信息科技股份有限公司 达成战略合作意向。 双方秉承合作共赢的理念,将在芯片、方案及系统层面进行深度合作,共同助力“中国智造”蓬勃发展。 此次先楫半导体与好上好的战略合作,包括了芯片分销代理、方案合作开发、垂直应用整合等全方位业务,全面覆盖了工业、汽车、物联网等多元化的市场。同时此次合作双方还将依托各自优势,聚焦开源RISC-V,携手助力国内芯片产业生态建设,共同提升工业、汽车及物联网等多领域的国产自主可控性。 ▲ 芯片分销代理:确保供货效率及质量 从嵌入式芯片研发、封装、测试、生命周期质
[汽车电子]
关于单片机中断多优先级的软件扩展方法
1 引言 所谓中断是指当CPU正在处理某件事情的时候,外部发生的某一事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件以后,再回到原来被中止的地方继续原来的工作,这样的一个过程称之为中断。以8051为例,中断系统含有5个中断源,分别是外部中断0请求(INT0),外部中断1请求(INT1),定时/计数器0溢出中断请求(T0),定时/计数器1溢出中断请求(T1)以及串行口中断请求(Tx/Rx)。既然系统含有5个中断源,就有可能出现数个中断源同时提出中断请求的情况,这样,设计人员必须事先根据它们的轻重缓急来为每个中断源确定CP
[单片机]
8位MCU TM56F1552在电陶炉的应用方案,集成低噪声OPA
随着人们生活水平的不断提高,消费者对厨房电器的要求越来越高,对电器的环保节能特性,安全性,灵活性等都有很高的需求,电陶炉由于其加热效率高且可以持续加热,无辐射,适用性高等特点很好的满足了目前消费者的需要。 为了满足市场上对于电陶炉产品的需求,本文介绍一种成熟的电陶炉产品整体解决方案,方案由AC-DC电源芯片与8位MCU主控两部分组成,MCU内置触摸模块,LED/LCD显示驱动模块,多路PWM输出,带基准电压源的ADC以及EEPROM存储器等模块。其中主控TM56F1552芯片内集成了低噪声OPA,CMP,LDO,CTK,可以减少产品零件数目及降低成本。 方案中TM56F1552是一款8位内置OPA,外围电路简单,可以节省B
[嵌入式]