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);
} 多发一个字符,程序就出错。类似于跑飞、 1.有没有可能是 ram 不够了? 不过看样子应该不像,你试验了2种板子
2.会不会是串口buffer什么满了,导致另外的中断?
3.建议你实验拆开,先发60个,delay一下,再发60个
4.用 for 循环测试发送看看 楼主能提供<FlexiTimer2.h> 这个库文件吗?谢谢您 把中断时间间隔延长试下, 阿布都 发表于 2014-9-7 10:22 static/image/common/back.gif
楼主能提供 这个库文件吗?谢谢您
{:soso_e101:} 肥猫不吃鱼 发表于 2015-3-13 12:10 static/image/common/back.gif
谢谢楼主,:):):):):)
页:
[1]