肥猫不吃鱼 发表于 2014-6-24 20:50:59

arduino 中断服务程序中串口输出函数最多能发送61个字节,

arduino uno 和mega 2560测试的情况是这样的。

#include <FlexiTimer2.h>
bool i=0;
void setup()
{
Serial.begin(38400);
//Serial1.begin(38400);
pinMode(13, OUTPUT);
FlexiTimer2::set(500,Count);      // 中断设置函数,每 500ms 进入一次HeartBeat
FlexiTimer2::start();                //开始计时
}
void Count()
{
digitalWrite(13,(i^=1));
Serial.println("Ubbnjjyghjghjfgfdhgfhgfghdrtyutghjghjgyfrytdytfcyfcytfcytfyhh");//61个字符//
}

void loop()
{
   // digitalWrite(13,(i^=1));
    //Serial1.println("OKasdfghjklwertyuiopasdfghjkl;zxcvbnm,./qwertyuiop[asdfjlkjllghjkUbbnjjyghjghjfgfdhgfhgfghdrtyutghjghjgyfrytdytfcyfcytfcytfyhh");
//-------------------------------------------------------------------------------------------//
    delay(1000);
}

肥猫不吃鱼 发表于 2014-6-24 20:51:52

多发一个字符,程序就出错。类似于跑飞、

zoologist 发表于 2014-6-25 09:09:19

1.有没有可能是 ram 不够了? 不过看样子应该不像,你试验了2种板子

2.会不会是串口buffer什么满了,导致另外的中断?

3.建议你实验拆开,先发60个,delay一下,再发60个

4.用 for 循环测试发送看看

阿布都 发表于 2014-9-7 10:22:18

楼主能提供<FlexiTimer2.h> 这个库文件吗?谢谢您

韩冬 发表于 2014-9-9 06:11:56

把中断时间间隔延长试下,

肥猫不吃鱼 发表于 2015-3-13 12:10:16

阿布都 发表于 2014-9-7 10:22 static/image/common/back.gif
楼主能提供 这个库文件吗?谢谢您

{:soso_e101:}

阿布都 发表于 2015-3-14 10:52:03

肥猫不吃鱼 发表于 2015-3-13 12:10 static/image/common/back.gif


谢谢楼主,:):):):):)
页: [1]
查看完整版本: arduino 中断服务程序中串口输出函数最多能发送61个字节,