UDOO Quad上的慢速Arduino串口

时间:2016-04-12 16:56:42

标签: arduino serial-port arduino-due

使用UDOO Quad,我试图尽快通过串口将数据从Atmel SAM3X8E(Arduino端)推送到Freescale i.MX 6(Linux端)。目前,我被限制在大约10,000字节/秒,这是合理的,因为串行端口配置为每秒14,400字节(115,200位)。有谁知道如何提高串行连接的速度?或者,如果除了Serial之外还有其他一些方法可以将数据传递给ARM处理器,我可以使用它。我的Arduino草图如下。实际上,发送了“无法快速写入”。如果从Serial.println(“012345678901”)中删除了两个字符,则它会通过。我使用内置的Arduino串口监视器(工具 - >串行监视器)。

unsigned long sample_period = 1000; //micro seconds.
unsigned long current_time = 0;

void setup() {
    Serial.begin(115200); //115200 bits per sec, 14400 bytes per sec
    current_time = micros();
}

void loop() {
    int wait_count = 0;

    while(micros() - current_time < sample_period) {
        wait_count++;
    }

    if(wait_count == 0) { 
        Serial.println("Unable to write quickly enough");
    }
    current_time = micros();
    Serial.println("012345678901");
}

编辑:   在阅读下面的Sendhikumar评论之后,我更加系统化并且经历了termios.h中的所有频率。我发现每秒576000位是有效的,我的新数据速率是每秒56,000字节。如果可能的话,我仍然希望更快。内置的Arduino串行监视器不支持此频率,因此现在我使用自定义C ++程序(基于www.tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html)捕获串行数据。

0 个答案:

没有答案