芷雅焉 发表于 2012-10-26 20:35:33

请教arduino控制多路舵机不能正常运行的问题

本帖最后由 芷雅焉 于 2012-10-31 01:52 编辑

如题,我使用的mega328的板子,要用来控制多个舵机。

我是用二维数组的形式把舵机的角度值存入,然后逐行读取执行:

例如8个舵机,
int data1=
{
};

这样的存入数据执行的。

然后发现当只有这么一组数据的时候舵机执行无问题,两组也没有问题,但是再多一点就不行了。。可以烧进去程序,但是却不能运行,舵机完全不动呀。。

求教是怎么回事了?是不是什么不够了?

先行谢谢各位大神啦~

芷雅焉 发表于 2012-10-26 21:39:21

我怀疑是spam不够了。。

芷雅焉 发表于 2012-10-26 21:40:39

但是一组数据的时候200×8×2=3200Byte>2048Byte,而这时运行是正常的。。这是怎么回事呢。。

弘毅 发表于 2012-10-26 22:05:40

感觉是内存溢出了。。。。

芷雅焉 发表于 2012-10-26 22:07:22

弘毅 发表于 2012-10-26 22:05 static/image/common/back.gif
感觉是内存溢出了。。。。

我也觉得是这样子。。但是一组数据的时候200×8×2=3200Byte>2048Byte,而这时运行是正常的。。这是怎么回事呢。。好忧伤。。

弘毅 发表于 2012-10-26 22:13:01

芷雅焉 发表于 2012-10-26 22:07 static/image/common/back.gif
我也觉得是这样子。。但是一组数据的时候200×8×2=3200Byte>2048Byte,而这时运行是正常的。。这是怎么回 ...

{:soso_e154:} 介个。。不知道把编译后的hex导入模拟器中,不知道能不能观察到对应的内存占用释放等数据~~~

芷雅焉 发表于 2012-10-26 22:14:46

弘毅 发表于 2012-10-26 22:13 static/image/common/back.gif
介个。。不知道把编译后的hex导入模拟器中,不知道能不能观察到对应的内存占用释放等数据~ ...

嗯嗯,好期待。。只是这样做真的可以观察出真实的情况吗?

Randy 发表于 2012-10-29 19:01:09

首先,你可以一点点的试,一组、两组、三组、四组慢慢试,不能急,也不能随便猜,有想法必须要用实践来验证!这样验证下去,假如到了五组,不行的话,很显然是溢出的原因,有时候溢出的不错,还是可以烧进去的,51的我试过了,AVR的不知道是否是这样子的!你可以试试!

芷雅焉 发表于 2012-10-29 19:40:22

Randy 发表于 2012-10-29 19:01 static/image/common/back.gif
首先,你可以一点点的试,一组、两组、三组、四组慢慢试,不能急,也不能随便猜,有想法必须要用实践来验证 ...

嗯~先说声谢谢~我确实试过,一组两组的各种组合都是可以的,但是换成三组就不对了。。呵呵。。应该就是spam不足的问题了吧~

芷雅焉 发表于 2012-10-29 19:42:04

Randy 发表于 2012-10-29 19:01 static/image/common/back.gif
首先,你可以一点点的试,一组、两组、三组、四组慢慢试,不能急,也不能随便猜,有想法必须要用实践来验证 ...

我现在在用无线数传。。通过无线模块把一组的数据发进去然后执行,执行完就删除。。目前已经差不多做好了,还差一点点~谢谢啦~

Randy 发表于 2012-10-29 21:18:17

芷雅焉 发表于 2012-10-29 19:42 static/image/common/back.gif
我现在在用无线数传。。通过无线模块把一组的数据发进去然后执行,执行完就删除。。目前已经差不多做好了 ...

:lol:loveliness:加油,思路很重要哈!到时候做好记得发个帖子给大家围观哦!

芷雅焉 发表于 2012-10-30 18:53:15

Randy 发表于 2012-10-29 21:18 static/image/common/back.gif
加油,思路很重要哈!到时候做好记得发个帖子给大家围观哦!

现在已经做好了,还顺便学习了一下C#。。用C#做了一个数据自动发送器。感觉C#做小程序真心简单啊。。之前白学了那么久的MFC了。。

jack4904 发表于 2012-12-15 15:41:56

樓主的動作組是寫死的吧?
如果flash還夠的話推薦用PROGRAM這個關鍵字把數組寫進flash
詳細在arduino官網能找到介紹

芷雅焉 发表于 2012-12-15 16:26:11

jack4904 发表于 2012-12-15 15:41 static/image/common/back.gif
樓主的動作組是寫死的吧?
如果flash還夠的話推薦用PROGRAM這個關鍵字把數組寫進flash
詳細在arduino官網能 ...

有program这个关键字吗?没搜到呀。。在哪里呢?谢谢~

芷雅焉 发表于 2012-12-15 16:31:59

jack4904 发表于 2012-12-15 15:41 static/image/common/back.gif
樓主的動作組是寫死的吧?
如果flash還夠的話推薦用PROGRAM這個關鍵字把數組寫進flash
詳細在arduino官網能 ...

我的动作组是固定的,本来就是用数组存储写在代码中的。这个应该就是在flash中的吧?
页: [1] 2
查看完整版本: 请教arduino控制多路舵机不能正常运行的问题