搜索
bottom↓
回复: 18

吐槽一下ICCAVR,有时莫名其妙出问题,今晚肺都气炸了!

[复制链接]

出0入0汤圆

发表于 2015-7-9 23:12:28 | 显示全部楼层 |阅读模式
用的ICC,调试伺服电机程序,好心塞!
MEGA88PA
1、程序跑起来莫名其妙TIMER0停了波形不输出了,搞了两天死活找不出问题。
2、PCINT1中断跑着跑着进不去,导致电机停不下来把动作机构憋坏2次,整个程序中自从SEI后就没有CLI过,初始化什么的都没问题。
3、PCINT1在程序刚开始能进去,但是每次电机走到位置偏要进去两次,两次啊!第一次进去清了标志位程序都跳不过去,都木有用啊!最后逼急了CLI都没用!
4、TIMER1用来计OC0B输出的脉冲个数,外部终断乱了之后,TIMER1也乱了,TCNT1直接从一万多蹦到五万多,因为这事儿又憋了一回电机,尼玛那可是3KW的伺服电机不是玩具电机啊!我家的灯泡也跟着闪啊!
搞了三四天,累了,带着试一试的心情,打开了AVR Studio,程序捣腾过去,尼玛的竟然好使了!!!流畅得令人发指!!!程序没变,所有功能都OK,唯一一点是编译后HEX变大了。

N年之前也曾遇到过一次,ICC,MEGA64A,UART0收发都很正常,但UART1中断只有刚下完程序第一次能进,以后再也进不去了,重新上电也一次进不去,初始化和UART0一模一样,折腾两天头都大了,最后换成AVR Studio一切正常。
平时ICC用起来方便一些,比较省事儿,编译也快比较顺手,现在看来,要么是我水平太洼没有领悟ICC的奥妙,要么就是它太粗糙,反正以后不会再用了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2015-7-9 23:17:10 | 显示全部楼层
楼主还是找找自身的原因,编译器只是工具而已 取决于你怎么用  

出0入0汤圆

发表于 2015-7-10 13:37:40 来自手机 | 显示全部楼层
有没有可能是堆栈溢出了,

出0入0汤圆

发表于 2015-7-10 13:57:16 | 显示全部楼层
一般抱怨编译器的,最后都证明还是自己的问题,尤其还是一款用的人不少的编译器

出0入0汤圆

发表于 2015-7-10 17:42:59 | 显示全部楼层
我听到一声:啪....!

出0入0汤圆

发表于 2015-7-10 17:52:21 | 显示全部楼层
用GCC也可以啊

出0入12汤圆

发表于 2015-7-12 22:25:35 | 显示全部楼层
用的哪个版本的ICCAVR

出0入50汤圆

发表于 2015-7-12 22:44:47 | 显示全部楼层
买正版的,可以咨询,可以投诉,D版的就自认倒霉,不管谁的责任,你都得打落门牙往肚子里咽,没有必要如此高调

出300入0汤圆

发表于 2015-7-12 22:47:42 | 显示全部楼层
楼主不用avrstudio仿真直接先上电机?

出0入0汤圆

发表于 2015-7-13 00:02:03 | 显示全部楼层
我敢说网上流行的icc avr7.22破解版百分之百有问题

出0入4汤圆

发表于 2015-7-13 07:27:08 来自手机 | 显示全部楼层
cvavr换这个更好

出0入0汤圆

发表于 2015-7-13 09:45:51 | 显示全部楼层
ICCAVR某个版本确实有问题,我证实过的其中一个问题,几个数组初始化如果值相同,数组会出问题

出0入0汤圆

 楼主| 发表于 2015-7-13 09:54:57 | 显示全部楼层
mingxin 发表于 2015-7-13 00:02
我敢说网上流行的icc avr7.22破解版百分之百有问题

版本就是7.22
另外我还真不习惯仿真,一般都是直接搞的

在两种环境下,程序唯一的变动就是中断函数写法不一样,其余全部照搬,换到GCC下就OK了,但是编译出的HEX大了将近30%,在想,是不是ICC把一些重要信息精简掉了呢?

出0入169汤圆

发表于 2015-7-13 10:33:37 | 显示全部楼层
icc的确比较容易出问题,容易被其他的流氓软件干扰而不好好干活出各种奇葩问题。

出0入169汤圆

发表于 2015-7-13 10:34:35 | 显示全部楼层
我现在用Gcc感觉比ICC好用多了,起码不出各种奇葩问题了。

出0入0汤圆

 楼主| 发表于 2015-7-13 10:43:45 | 显示全部楼层
d__xin 发表于 2015-7-13 10:34
我现在用Gcc感觉比ICC好用多了,起码不出各种奇葩问题了。

出0入0汤圆

发表于 2015-7-13 23:56:50 | 显示全部楼层
粗人 发表于 2015-7-13 09:54
版本就是7.22
另外我还真不习惯仿真,一般都是直接搞的

我以前用iccavr编译一个modbus程序,调好以后再改很少一点程序就不能用了,后来发现把电脑c盘格式化在重装软件可解决,再后来发现这个软件好像对修改的程序编译计数,就是一个程序编译过几十次,就不行了

出0入0汤圆

 楼主| 发表于 2015-7-14 01:08:27 | 显示全部楼层
mingxin 发表于 2015-7-13 23:56
我以前用iccavr编译一个modbus程序,调好以后再改很少一点程序就不能用了,后来发现把电脑c盘格式化在重 ...

难道这是一种反D版措施?目前没遇到过,一个程序编译上百次的都有。
另外ICC不支持跳转查找,函数或定义多了用起来很累,最难受的是连括号自动对齐和段落缩进都不支持,只能一边开着Sourceinsight一边搞,相对这一点IAR或Keil就做得很好。

出0入0汤圆

发表于 2015-7-14 20:45:44 | 显示全部楼层
用ICCAVR7.22从没出现过这些问题,楼主还是检查一下自己的程序吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 10:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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