"); //-->
在众多AVR IDE里面唯独我CVAVR支持位操作。
CVAVR 将存储空间分为 程序存储器 数据存储器 EEPROM 三个空间,对每个空间都做了相应的扩充,并引入了flash 和eeprom两个关键字。-----------这就意味着可以读写 flash和eeprom(不用设置寄存器,也不用像别的IDE一样读写E2前要这个那个的)直接拿来当普通的 RAM用就行了,这在以前简直不可想象。
大的表格放在RAM里放不下,直接放在flash里就行,怎么放---很简单
unsigned char flash Dtable[300]; //就OK了
想写个E2
直接
...
eeprom unsigned char a;
a++;
...
每次开机(断电后在上电)a的值都加一,a的初始值为FF,所以第一次开机 a++后为0x00;
如此简单,看来cvavr的缔造者别具匠心,这个创意(在硬件已经固定的情况下,只在编译环境上动了下脑筋,就产生看似硬件脱胎换骨的巨变)牛啊。
代码少的时候,CVAVR编译出来的代码甚至赶不上其他的软件,但代码越多,CVAVR的编译效率越是比其它的软件要强,其编译效果越是让人满意。-----也只有代码多的时候我们才计较代码效率,CVAVR小代码编译的效率低的缺点(其实效率也挺高,只是相比之下低点)也就不是缺点了。
置于它的代码生成向导(就是寄存器设置向导)有人说极好,我还没用过,就先不评论了。
以上这些也是我放弃大名顶顶的ICC(学了一个月了,割肉啊)而转CVAVR的原因。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。