三星 6410 ,GPN8引脚与温度传感器DS18b20的问题,wince

amen2100 2011-07-15 09:54:08
有3个问题,请教
1、硬件手册上说,ds18b20的DATA线,连接的是6410的EINT8中断引脚。查了一下,EINT8是GPN8。那么,是用正常的IO口输出输入方式去用这个EINT8的引脚吗?如果当做普通IO去用,那么当初板子设计的厂家,把DATA线连到EINT8上,又是出于什么考虑?

2、在WINCE下,经过我个人试验,控制IO口比较困难。难在时序上。ds18b20是一根信号线,CPU需要不断的把DATA拉高拉低,并延时45us、450us、600us不等。延时的方法,我试过了两种。第一种是,for()空循环;第二种是,用6410的计时器延时。请问,第一种方法精确吗?第二种方法,除了对于计时器本身的配置,还需不需要在某个系统层的配置文件中,改编译变量或者什么代码,以允许计时器的使用?

3、ds18b20的使用说明里写的控制流程,经常出现的一句话是:“释放总线”。请问具体操作是怎么操作?

4、6410的IO口,对于ds18b20,需要设置成什么模式?是需要设置上拉,还是不需要?

谢谢指导~
...全文
149 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaosan5871 2011-07-15
  • 打赏
  • 举报
回复
1.肯定要配置成GPIO来用,一个一个时序写就行了。至于厂家设置,我就不清楚了。
2.18b20对于时序的要求时间,不是特别精确,有个范围的,所以for,也是可以胜任的,但是不是特别精确,注意for的时候,要用volatile,不然容易被优化。
至于定时器的使用,要看cpu手册。

3.释放总线,就是非低电平,也非高电平,而是高阻态,(可理解为输入模式)。简而言之,释放总线,就是cpu的线接在了18b20上边,但对于18b20的电平无任何影响。

4.GPIO要看时序而定,OUTPUT和INPUT要来回切换,不是总是在一个状态喔
上拉下拉要不要呢?要看18b20手册了~

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧