极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16177|回复: 9

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

[复制链接]
发表于 2012-10-9 22:53:47 | 显示全部楼层 |阅读模式
本帖最后由 shenhaiyu 于 2012-10-11 17:59 编辑

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

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

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

使用道具 举报

 楼主| 发表于 2012-10-9 23:00:17 | 显示全部楼层
唉,查了一下资料,貌似不行,pwm的周期是20ms,analogRead()周期是100um,这肯定不行了……高手们有别的办法单线传数据吗
回复 支持 反对

使用道具 举报

发表于 2012-10-9 23:39:57 | 显示全部楼层
直接数字IO对IO啊
回复 支持 反对

使用道具 举报

发表于 2012-10-10 09:19:53 | 显示全部楼层
test01 发表于 2012-10-9 23:39
直接数字IO对IO啊

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

使用道具 举报

发表于 2012-10-10 10:11:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-10-10 12:00:55 | 显示全部楼层
IIC总线,占用模拟量最好两个端口。例子网上一堆
回复 支持 反对

使用道具 举报

发表于 2012-10-10 12:31:39 | 显示全部楼层
我的意思是编程实现1-wire协议,单端口
回复 支持 反对

使用道具 举报

发表于 2012-10-10 12:55:09 | 显示全部楼层

我只知道有这种解决方案
对具体协议不熟
回复 支持 反对

使用道具 举报

发表于 2012-10-10 13:09:38 | 显示全部楼层
http://www.docin.com/p-379200806.html

看这篇文章,稍微改写下吧
回复 支持 反对

使用道具 举报

发表于 2012-10-11 17:19:06 | 显示全部楼层
原来官方已经有这个库了

http://www.arduino.cc/playground/Learning/OneWire
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 22:54 , Processed in 0.045208 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表