精华内容
下载资源
问答
  • 使用程序模拟arduino硬件串口功能, arduino软串口实验 教程

    使用程序模拟arduino硬件串口功能, arduino软串口实验
    教程

    展开全文
  • arduino软串口库文件SoftwareSerial
  • 我想用arduino软串口通信,发现官方库软串口只能设置波特率,我想要设置其他的参数,有没有实例给推一个。
  • Arduino软串口调试

    千次阅读 2016-07-27 18:12:58
    关于Arduino,其有一个硬串口可与电脑通信,其他数字输入均可做软串口使用,用于模块通信,下面介绍一下软串口的使用方法。 #include //注意头文件的引入 SoftwareSerial rfid(8, 9);//RX,TX;开软串口 void ...

        关于Arduino,其有一个硬串口可与电脑通信,其他数字输入均可做软串口使用,用于模块通信,下面介绍一下软串口的使用方法。

    #include <SoftwareSerial.h>//注意头文件的引入
     
    SoftwareSerial rfid(8, 9);//RX,TX;开软串口
     
    void setup() {
      Serial.begin(9600);//开硬串口,用于电脑端测试数据
      while (!Serial) {;}
      Serial.println("Goodnight moon!");
      rfid.begin(9600);
    }
     
    void loop() { 
      rfid.listen();
      if (rfid.available()) {
        String str = readLine();
        Serial.println(str);//检测软串口输入的内容
      }
    }
    
    String readLine()//由于.read()函数每次读取一个字节,所以写了这个函数读取多位
    {
        String str;
        int i = 0;
        while (rfid.available())
        {
            if (i<13)//这里我是获取rfid模块的卡号,共13位,所以设为i<13
            {
              str += char(rfid.read());
              i++;
              delay(2);
            }
            else break;
        }
        return str;
    }


    展开全文
  • 遇到需要2个软串口的情况,其中一个串口失效了,获取不到数据。切换监听也写了,还是没有用。 硬件电路没有问题,换了另一个只用了一个软接口的代码后可执行。 新人学习中,求大神指导,我是不是遗漏了什么。 ``` ...
  • 简要:本文说明Esp8266向Arduino串口通信,Arduino收到乱码的问题!

    Esp8266向Arduino软串口通信,Arduino收到乱码的问题!

    简要:本文说明Esp8266向Arduino软串口通信,Arduino收到乱码的问题!

    最近小编在做一个用arduino UNOesp8266开发板的项目,在过程中遇到了一个问题:esp8266如何和arduino通信?为什么arduino收到的都是乱码?现在网上有很多解决arduino读取esp8266的串口信息,今天小编就来为大家解决这个问题。

    例子:Esp8266串口通信输出“1”,Arduino收到什么信息?

    代码:

    Arduino Uno:

    #include <SoftwareSerial.h>
    
    SoftwareSerial arduinoSerial = SoftwareSerial(0,1);
    
    void setup() {
      // put your setup code here, to run once:
       Serial.begin(9600);
       arduinoSerial.begin(9600);
       arduinoSerial.flush();
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
        char a;
        a=arduinoSerial.read();
        Serial.println(a);
    }
    

    ESP8266:

    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      Serial.write("1");
    }
    

    这是就有人问了,我收到的都是乱码啊。。。。?我收到的不是我想要的啊?

    此时esp8266输出的情况是这样的!

    再次我们
    这里我们使用的是安信可串口调试助手

    而Arduino收到的消息是这样的!
    在这里插入图片描述
    这时我们如何解决这个问题呢?此时我是这么接的线!

    在这里插入图片描述
    测试时,我的两个模块都是使用USB转TTL供电的,当我们把esp8266用电池供电就解决了这个问题了,在这里我是将arduino上的3v3接到了esp8266的3v管脚上arduino为esp8266供电
    Arduino串口通信收到的数据
    上图片!Arduino串口通信收到的数据👆👆👆

    现在就正常了!

    如果有错误,还请各位大佬批评指正!

    愿大家在单片机的学习之路一路顺风ヾ(◍°∇°◍)ノ゙

    展开全文
  • arduino软串口发送多位数据和接收多位数据:带起始位 发送端: 发送已Z开始的字符串,Z后面有3位数字 接收端: 接收到已Z开始进行存储数据,一共存储三个 发送端 #include <SoftwareSerial.h> SoftwareSerial my...

    arduino软串口发送多位数据和接收多位数据:带起始位

    发送端:
    发送已Z开始的字符串,Z后面有3位数字
    接收端:
    接收到已Z开始进行存储数据,一共存储三个

    发送端

    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(15, 16); // RX, TX
    
    int const butTotal=7;
    //                     0,1,2,3,4,5,6
    int butPins[butTotal]={2,   3,   4,  5,  7, 8,9};
                         //左上,左下,中上,中下,上,中,下
    int const ledTotal=5;//0, 1, 2, 3, 4
    int ledPins[ledTotal]={6,10,11,12,13};
                         //ws,上,中,下,指示
    
    void setup() {
      // put your setup code here, to run once:
      mySerial.begin(9600);
    
      for(int i=0;i<butTotal;i++){
        pinMode(butPins[i],INPUT);
        }
      for(int i=0;i<ledTotal;i++){
        pinMode(ledPins[i],OUTPUT);
        }
      digitalWrite(ledPins[7],LOW);
    }
    
    boolean butDebounce(int buttonPin){
      int reading = digitalRead(buttonPin);
      if(reading==false){
        delay(50);
        reading = digitalRead(buttonPin);
        if(reading==false){
          return true;
          }
        else{
          return false;}
        }
       else{
          return false;}
      }
    
    void loop() {
      //按下开始键
      if((butDebounce(butPins[0]))==true){
        mySerial.print("Z");
        delay(5);
        mySerial.print("A");
        delay(5);
        mySerial.print("5");
        delay(5);
        mySerial.print("G");
        delay(5);    
        digitalWrite(ledPins[4],HIGH);
        delay(100);
        }
    
        if((butDebounce(butPins[1]))==true){
        mySerial.print("Z");
        delay(5);
        mySerial.print("C");
        delay(5);
        mySerial.print("6");
        delay(5);
        mySerial.print("F");
        delay(5);    
        digitalWrite(ledPins[4],HIGH);
        delay(100);
        }  
    }
    

    接收端

    #include <SoftwareSerial.h>
    const int NUMBER_OF_CHARS=3;
    int charIndex=0;
    char values[NUMBER_OF_CHARS];
    int index=0;
    SoftwareSerial mySerial(15, 16); // RX, TX
    
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      Serial.println("Goodnight moon!");
      // set the data rate for the SoftwareSerial port
      mySerial.begin(9600);
      pinMode(13,OUTPUT);
      digitalWrite(13,LOW);
    }
    
    void loop() { // run over and over
      if (mySerial.available()) { 
        char ch=mySerial.read();
        Serial.print("ch:");
        Serial.println(ch);
        if(ch=='Z'){
            for(int i=0;i<NUMBER_OF_CHARS;i++){
              ch=mySerial.read();
              values[index++]=ch;
              delay(5);          
              }
              index=0;//接收数据结束后,将索引值归零
        }  
        else{
            index=0;
            }
      }
      Serial.print("value:");
      Serial.println(values);
      if(values[0]=='A'){
        digitalWrite(13,HIGH);    
        }
       delay(1000);    
    }
    

    主要代码的注释
    在这里插入图片描述

    展开全文
  • Arduino来实现一些小设计感觉会比51或者stm32都简单很多,Arduino集成了很多库文件,同时IDE里面还有很多人弄的开源的库文件,对于新手来说是一个不错的练习平台。
  • 刚刚接触软串口,用的IDE里面自带的例程文件做的测试。代码如下/*Software serial multple serial testReceives from the hardware serial, sends to software serial.Receives from software serial, sends to ...
  • 本人最近入手一块ESP8266模块,打算用于...刚入手8266,测试8266的原计划是将Arduino作为USB转TTL来使用,于是,我在Arduino中烧入了一个软串口程序,并将接线方式如下所示: ESP8266------------------------Ardu...
  • Arduino虚拟串口软串口

    千次阅读 2018-04-16 09:07:57
    #include &lt;SoftwareSerial.h&gt; SoftwareSerial serial(6, 7); //定义虚拟串口名为serial,rx为6号端口,tx为7号端口 void setup() { ... //初始化Arduino默认串口 } char a; void loo...
  • arduino使用软串口代码

    2016-03-28 17:33:40
    arduino 使用软串口避开默认的和PC电脑arduinoIDE通信的串口。
  • arduino实现软串口通信

    万次阅读 多人点赞 2019-06-28 12:11:31
    最近不忙,闲来总结一下arduino板之间是如何通过软串口实现通信的。在之前不懂的情况下也做过类似的查阅文档和网上研究,基本靠拿来主义得到的都是硬串口和软串口之间通信,要么就是简单介绍软串口通信的基础知识,...
  • 刚好过完年到现在没有写博客, 贴点很久以前的东西骗点...类似于Arduino Uno, 只有一个串口Arduino板子, 并不妨碍我们读取TFmini的数据, 只需要连接TFmini的TX到Arduino的RX即可, 不影响Arduino的TX向PC发数据, ...
  • Arduino使用软串口通信

    万次阅读 多人点赞 2017-11-12 20:02:10
    之前学习Arduino时没有接触过软串口,不过后来我买了一个Esp8266模块,在网上找的参考资料中给出的代码大部分都是Arduino使用软串口与Esp8266通信,但是我在使用的时候一直有问题,总是出现乱码。不清楚是不是我...
  • Arduino - 软串口

    千次阅读 2015-12-22 16:51:01
    软串口跟硬串口一样,只不过用了两个数字IO口代替RX,TX。 【所用库文件】系统自带的 : SoftwareSerial 应用方法如下:#include <SoftwareSerial.h> //引用库文件 SoftwareSerial DLSerial(6, 7); // 定义软串口 RX...
  • 关于Arduino使用软串口读取ESP8266模块数据不稳定的解决办法 这篇文章是本人在做ESP8266和Arduino进行串口通信时发现,在ESP8266给Arduino发送数据时,Arduino接收数据不稳定,这使困惑了很久,后来在读了一篇文章后...
  • Arduino和Xbee软串口通信

    千次阅读 2019-01-11 23:10:01
    Arduino Uno只有一个硬件软口,在与蓝牙,无线通信的时候我们需要另外设置一个软串口才能实现。 Arduino 官方提供了软件串口的库,可以将任意两个数字端口,模拟成串口。软件串口库不需要下载,IDE 已经集成,打开...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,018
精华内容 407
关键字:

arduino软串口