shenhaiyu 发表于 2012-10-9 22:53:47

请问可以用一块板子的analogRead()读取另一块板子的PWM吗?

本帖最后由 shenhaiyu 于 2012-10-11 17:59 编辑

解决办法见10楼给的地址,用官方的OneWire库就可以了,原来这么简单,谢谢大家了~

我想在两块板子之间传输一个100以内的整数,速度没要求,大概1s传递一次。
目前我能想到的最笨最有效的方法就是一块板子PWM输出,另一块板子analogRead()出这个值使用,这样才占用一个端口,程序也最简单。不知道我的想法能否实现,是否还有更有效的办法,希望前辈们帮忙分析一下

测试了一下,果然如沙发中说明的那样,10次读取中有1-2次会读到0值或者1值,PWM方式非常不可靠~~

shenhaiyu 发表于 2012-10-9 23:00:17

唉,查了一下资料,貌似不行,pwm的周期是20ms,analogRead()周期是100um,这肯定不行了……高手们有别的办法单线传数据吗

test01 发表于 2012-10-9 23:39:57

直接数字IO对IO啊

ttyp 发表于 2012-10-10 09:19:53

test01 发表于 2012-10-9 23:39 static/image/common/back.gif
直接数字IO对IO啊

可以么?貌似数字io只是输入输出高低电平啊,如果加上时钟可以模拟出一个数字来。今天早上我还在想怎么在2个板子之间之间通信呢,使用spi接口模拟?还没有成熟的想法

ttyp 发表于 2012-10-10 10:11:06

http://www.geek-workshop.com/forum.php?mod=viewthread&tid=421

找到了,可以通过i2c通信:lol

幻生幻灭 发表于 2012-10-10 12:00:55

IIC总线,占用模拟量最好两个端口。例子网上一堆

test01 发表于 2012-10-10 12:31:39

我的意思是编程实现1-wire协议,单端口

test01 发表于 2012-10-10 12:55:09


我只知道有这种解决方案
对具体协议不熟

ttyp 发表于 2012-10-10 13:09:38

http://www.docin.com/p-379200806.html

看这篇文章,稍微改写下吧

ttyp 发表于 2012-10-11 17:19:06

原来官方已经有这个库了

http://www.arduino.cc/playground/Learning/OneWire
页: [1]
查看完整版本: 请问可以用一块板子的analogRead()读取另一块板子的PWM吗?