自学真难,随便碰到个问题,都要百度半天、一天、两天and so on......
从开始写DS18B20的程序到现在已经四天了,还没有全部成功。以前写程序,参考的芯片资料都是中文的,感觉英语的看着头大,也看不懂,所以就没想着要去参考参考原厂的datasheet,看了两天的中文资料,这个看了写的程序不正确,马上再下一个,结果桌面上下的DS18B20的资料放了一大片,程序还是不正确。
自感倍受打击,一个小小的DS18B20我都搞不定,我怎么去做复杂的项目?DS18B20,我跟你耗上了!于是非要和这小东西较较劲,别的不学了,不搞定DS18B20,我就来个持久战。
在DALLAS网站上下个英文版的datasheet,从第一行开始看,看着看着,感觉非常惊奇,不像我当初想当然的觉得那么难理解啊,除了个别单词不认识,整体上能看出大概意思,装了个金山词霸,不会的单词马上查,发现也不是很费劲的事儿。以前打开个英文的datasheet,看着密密麻麻的英语句子,看都没看就觉得头大,以前实在是太先入为主了,自己还是太浮躁,没有静下心来,认真的看一看。决定以后下芯片资料,直接下原版datasheet。
从头看手册,对照程序完整的看了一遍,发现原因就在写时序上,程序中写字节的函数中有一句:temp_h,与时序图不符,写0时序开始后、DS18B20采样前,并没有拉高数据线,把temp_h注释掉