本帖最后由 gaoyang9992006 于 2022-8-26 19:04 编辑
首先感谢提供了国产样片给我测评的@单片机搬运工。其次是感谢新唐提供了相关的例子方便我们开发者使用,虽然不是M487上的,但是写的已经非常好了。去官方下载或者在下面链接下载都是可以的
https://bbs.21ic.com/icview-3248544-1-1.html
官方提供了mini51和nano100系列的操作示例,但是已经将相关的操作利用新唐统一的库函数封装成直接可用的函数了。
接下来我讲演示如何使用它们直接用于其他系列的开发。
本帖采用mini51工程里的示例进行移植。
我们在工程中会发现有两个文件:main.c 和DS18B20.c
我们复制DS18B20.c到我们的M487的工程。由于mini51和M487的头文件不同,这里我们修改DS18B20.c中的头文件。修改位置如下图所示,同时也应修改你使用哪个端口连接你的18B20的DQ数据接口。
另外应考虑延时函数采用的是void CLK_SysTickDelay(uint32_t us);库函数实现的,所以我们在新的工程里应启用这个定时器。
所以需要在main.c中的初始化部分增加这些代码
CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLKSEL_LXT);
SystemCoreClockUpdate();
然后在主函数的任务里调用DS18B20.c中的库函数就行了。有多简单呢,一个函数即可搞定。
t = DS18B20_ReadTemperature() * 0.0625;
printf("\n%f\n", t);
这里我使用的是PB2端口,设置为准双向模式即可。
这是测得的办公室温度,已经有点冷了,冻人
奉上我的M487工程示例
DS18B20.zip
(1.4 MB)
还有国产的手册,全中文,非常棒,其实直接可以跟DS18B20替换,直接替换。
GX18B20_CN_v4.1.pdf
(537.89 KB)
GX18B20_应用手册_v7.pdf
(1.67 MB)
GX18B20H_CN_v1.1.pdf
(622.24 KB)
GX18B20S_CN_v1.0.pdf
(776.71 KB)
GX18B20W.pdf
(484.29 KB)
最后感谢一下这位朋友,QQ在下面截图,也可以到我们QQ**流,二姨家最活跃的硬件技术群,21ic中国电子网-硬件2:165620707
|