首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >digitalRead在arduino上字符串

digitalRead在arduino上字符串
EN

Stack Overflow用户
提问于 2013-03-25 19:28:10
回答 3查看 2.1K关注 0票数 1

我在和两个阿多尼奥诺·莱昂纳多做一个通讯系统。为了传输,我必须转换一个字串,并通过一个PWM引脚发送给他们。问题是,我该怎么做接受者?

我的想法是在一个数字引脚中接收数据,这样我就可以将低/高转换为'0‘和'1',把8位放在一个字符串中,转换成字符,然后我得到最后的字符串。

如有任何帮助/建议,将不胜感激。

编辑:

  • 我使用PWM,因为我想实现FSK调制,一点一点地发送;
  • 我有一些硬件,以使通信系统工作;
  • 我的物理沟通渠道是串行的(通过Arduino引脚);
  • 在接收机硬件上会给我提供TTL信号,所以我会有0V/5V。这就是为什么我认为digitalRead()应该有效;
  • 数据通过PWM发送,并以两电平信号接收;
  • 我将不得不做一些协议来发送/接收数据,仍然不知道如何..。;
EN

回答 3

Stack Overflow用户

发布于 2013-03-25 20:48:33

你没有说你的物理沟通渠道是什么。这事很重要。在Arduino上,您的主要选择是:

您也可以通过将数据写入数字引脚或从数字引脚读取数据来实现自己的协议,尽管这看起来更像是SPI。这些方法都不需要将任何内容转换为字符串,除非您的希望发送一个字符串。我有点不知所措,你是如何准确地通过PWM发送数据:这似乎是一次未经评估的黑客攻击。

票数 1
EN

Stack Overflow用户

发布于 2013-03-25 21:45:03

使用PWM是在设备之间进行二进制数据通信的困难方式,而不是其他更容易获得的外围设备,而是可行的。基本上是PCM或脉冲编码调制。最简单的方法是断言引脚的时间长度,表示数据。例如,在伺服系统中,PWM重复表示已知位置的时间长度,而伺服接收器将脉冲长度转换为位置或数据。

对于Arduino用户来说,PWM的接收并不是典型的,但是AVR微系统却能做到这一点。有两种可能的方法来捕捉这种脉冲持续时间。PulseIn()函数是Arduion的第一个通用函数。其中这个函数不是实时的。它只是时间标记之间的脉冲之间的周期,并限制为只有几微秒。我相信还有其他的变化可能会持续更长时间。这个可以工作得很好。但其他中断(如串行函数和定时器)可能会出现问题。

另一种方法称为输入捕获中断。下面的GISTHUB INputCapture.ino是这样的代码示例,我从另一个来源获得了这些代码。由于不是典型的,所以代码不是作为Arduino库编写的。但能非常准确地捕捉到脉搏的长度。总之,输入捕获引脚硬件锁在系统时钟上,触发,然后在某个潜伏时间可以读取。

票数 1
EN

Stack Overflow用户

发布于 2013-03-26 12:02:25

嗯,这就是我写的代码:

代码语言:javascript
复制
void setup() {
  Serial.begin(9600);
  while (!Serial) {;}
}
void loop() {
  char bitPosition = 0;
  String inMessage = 0;
  while (Serial.available() > 0) {
    char outChar;
    boolean digValue = digitalRead(inPin);
    for(bitPosition = 7; bitPosition >= 0;  ){
      if(digValue == LOW){
        bitWrite(outChar, bitPosition, 0);
      }
      if(digValue == HIGH){
        bitWrite(outChar, bitPosition, 1);
      }
    bitPosition--;
    }
  inMessage.concat(outChar);
  if(inMessage != 0){
    Serial.println("Received:  " + inMessage);
  }
 }
}

这不是我所期望的。第一个digValue总是0。糖?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15623095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档