极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11466|回复: 6

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

[复制链接]
发表于 2014-6-24 20:50:59 | 显示全部楼层 |阅读模式
arduino uno 和mega 2560测试的情况是这样的。


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

  16. void loop()
  17. {
  18.    // digitalWrite(13,(i^=1));
  19.     //Serial1.println("OKasdfghjklwertyuiopasdfghjkl;zxcvbnm,./qwertyuiop[asdfjlkjllghjkUbbnjjyghjghjfgfdhgfhgfghdrtyutghjghjgyfrytdytfcyfcytfcytfyhh");
  20. //-------------------------------------------------------------------------------------------//
  21.     delay(1000);
  22. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-6-24 20:51:52 | 显示全部楼层
多发一个字符,程序就出错。类似于跑飞、
回复 支持 反对

使用道具 举报

发表于 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
楼主能提供 这个库文件吗?谢谢您

{:soso_e101:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-3-14 10:52:03 | 显示全部楼层
肥猫不吃鱼 发表于 2015-3-13 12:10

谢谢楼主,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-19 05:43 , Processed in 0.034920 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表