提供的iic底层代码
只需改个延时就好了
提供的onewire底层代码
DS18B20初始化期间,总线控制器要拉低并保持480us以上,挂在总线上的器件将被复位,
然后释放总线,等待15~60us,此时DS18B20将返回一个60~240us之间的低电平存在信号。
产生一个写时序,必须将总线拉低最少1us,
产生写0时序总线必须保持低电平60~120us之间然后释放总线
产生写1时序在总线产生写时序后的15us内允许把总线拉高
2次写周期之间至少间隔1us
总线控制器要产生一个读时序,必须将总线拉低至少1us
然后释放总线,在读信号开始后15us内总线控制器采样总线数据
读一位数据至少保持在60us以上。
上面的是我想太复杂了,其实也只要改个延时就好了,因为他用的是STC89C52RC单片机测试的,所以延时扩大12倍就行了。。
提供的DS1302底层代码
写数据和读数据的时候记得要将数据和BCD码的转换,自己加一个十进制转BCD和BCD转十进制的函数就行了
比赛的时候,拿到官方提供的底层代码也要注意他所测试的硬件环境,有时候时序并没有错,注意一下延时就好了。
祝大家今年都考出好成绩 !!!