粗人 发表于 2015-7-9 23:12:28

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

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

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

男小北 发表于 2015-7-9 23:17:10

楼主还是找找自身的原因,编译器只是工具而已 取决于你怎么用

stm8s 发表于 2015-7-10 13:37:40

有没有可能是堆栈溢出了,

冷雨夜 发表于 2015-7-10 13:57:16

一般抱怨编译器的,最后都证明还是自己的问题,尤其还是一款用的人不少的编译器

mdj-fish 发表于 2015-7-10 17:42:59

我听到一声:啪....!

little_Monkey 发表于 2015-7-10 17:52:21

用GCC也可以啊

kuanglf 发表于 2015-7-12 22:25:35

用的哪个版本的ICCAVR

ilikemcu 发表于 2015-7-12 22:44:47

买正版的,可以咨询,可以投诉,D版的就自认倒霉,不管谁的责任,你都得打落门牙往肚子里咽,没有必要如此高调{:lol:}

Xearo 发表于 2015-7-12 22:47:42

楼主不用avrstudio仿真直接先上电机?

mingxin 发表于 2015-7-13 00:02:03

我敢说网上流行的icc avr7.22破解版百分之百有问题

zhanyanqiang 发表于 2015-7-13 07:27:08

cvavr换这个更好

fy024 发表于 2015-7-13 09:45:51

ICCAVR某个版本确实有问题,我证实过的其中一个问题,几个数组初始化如果值相同,数组会出问题

粗人 发表于 2015-7-13 09:54:57

mingxin 发表于 2015-7-13 00:02
我敢说网上流行的icc avr7.22破解版百分之百有问题

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

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

d__xin 发表于 2015-7-13 10:33:37

icc的确比较容易出问题,容易被其他的流氓软件干扰而不好好干活出各种奇葩问题。

d__xin 发表于 2015-7-13 10:34:35

我现在用Gcc感觉比ICC好用多了,起码不出各种奇葩问题了。

粗人 发表于 2015-7-13 10:43:45

d__xin 发表于 2015-7-13 10:34
我现在用Gcc感觉比ICC好用多了,起码不出各种奇葩问题了。

{:handshake:}

mingxin 发表于 2015-7-13 23:56:50

粗人 发表于 2015-7-13 09:54
版本就是7.22
另外我还真不习惯仿真,一般都是直接搞的



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

粗人 发表于 2015-7-14 01:08:27

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

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

skyxjh 发表于 2015-7-14 20:45:44

用ICCAVR7.22从没出现过这些问题,楼主还是检查一下自己的程序吧。
页: [1]
查看完整版本: 吐槽一下ICCAVR,有时莫名其妙出问题,今晚肺都气炸了!