IAR for AVR 学习笔记
更新时间:2024-01-17 18:28:01 阅读量: 教育文库 文档下载
IAR FOR AVR 学习笔记
在AVR编程一直是C,从ICC->GCC->IAR IAR是一个唯一自己选择的.ICC由于入门容易所以选择了开始,GCC因为不要钱,所以后来就用了它.随着对GCC的不断认识,缺点不断显露,开始对IAR产生了兴趣.
IAR在51,AVR,ARM的C上都是非常优秀的,它针对不同的单片机都有不同的C版本.唯一一点遗憾的是IAR的价格是个人和小公司难以承受的.当然网上有很多破解,现在的最新版4.20A也有了破解.
IAR FOR AVR相关信息:
破解方法:ID号注意一定要大写,不然注册将会失败 ,另外并不是每个号都是能用的了,要多试几次.如果注册成功后,编译就会通过.不然就报\没有可的证书\错误. 注意点:
如何输出HEX文件?
在配置文件后面加入以下代码,便可输出HEX文件,A90文件与HEX文件一样,SLISP都能识别.
// Output File
-Ointel-extended,(XDATA)=.eep //产生eeprom文件 -Ointel-extended,(CODE)=.A90 //产生烧写文件 -Ointel-extended,(CODE)=.hex //产生烧写文件 中断向量的使用
IAR中定义中断函数的格式是 ///////////////////////////////// #pragma vector=中断向量
__interrupt void 中断服务程序(void) {
//中断处理程序 }
/////////////////////////////////////
中断的初始化要另外加入代码,可在主程序内加入。如下是各个中断函数的定义。 //中断定义
#include
#pragma vector=INT0_vect
__interrupt void INT0_Server(void) { }
#pragma vector=INT1_vect
__interrupt void INT1_Server(void) { }
#pragma vector=TIMER2_COMP_vect
__interrupt void TIMER2_COMP_Server(void) { }
#pragma vector=TIMER2_OVF_vect
__interrupt void TIMER2_OVF_Server(void) { }
#pragma vector=TIMER1_CAPT_vect
__interrupt void TIMER1_CAPT_Server(void) { }
#pragma vector=TIMER1_COMPA_vect
__interrupt void TIMER1_COMPA_Server(void) { }
#pragma vector=TIMER1_COMPB_vect
__interrupt void TIMER1_COMPB_Server(void) { }
#pragma vector=TIMER1_OVF_vect
__interrupt void TIMER1_OVF_Server(void) { }
#pragma vector=TIMER0_OVF_vect
__interrupt void TIMER0_OVF_Server(void) { }
#pragma vector=SPI_STC_vect
__interrupt void SPI_STC_Server(void) { }
#pragma vector=USART_RXC_vect
__interrupt void USART_RXC_Server(void) { }
#pragma vector=USART_UDRE_vect
__interrupt void USART_UDRE_Server(void) { }
#pragma vector=USART_TXC_vect
__interrupt void USART_TXC_Server(void) { }
#pragma vector=ADC_vect
__interrupt void ADC_Server(void) { }
#pragma vector=EE_RDY_vect
__interrupt void EE_RDY_Server(void) { }
#pragma vector=ANA_COMP_vect
__interrupt void ANA_COMP_Server(void) { }
#pragma vector=TWI_vect
__interrupt void TWI_Server(void) { }
#pragma vector=INT2_vect
__interrupt void INT2_Server(void) { }
#pragma vector=TIMER0_COMP_vect
__interrupt void TIMER0_COMP_Server(void) { }
#pragma vector=SPM_RDY_vect
__interrupt void SPM_RDY_Server(void) { }
如何把常数字符串定义在flash 空间?
法一:unsigned char __flash temptab[] = {1,2,3,4,5}; 法二:__flash unsigned char temptab[] = {1,2,3,4,5}; 法三:#pragma type_attribute=__flash unsigned char temptab[]={1,2,3,4,5};
法四:const unsigned char temptab[]={1,2,3,4,5};
注:第三种方式用#pragma说明后,下面的定义的变量将都在FLASH空间了,用于定义一批FLASH变量,但实际上一般只能作为常量使用了.
正在阅读:
IAR for AVR 学习笔记01-17
多卡集成的SIM卡座08-20
东农16秋《计算机原理》在线作业04-02
天目山常见方茎叶对生植物报告02-02
手拉手活动作文150字07-10
山东省 人民政府关于印发 山东省中小学幼儿园安全管理暂行办法 鲁政发〔2010〕87号 二一年九月七日施行11-26
中债登收益率算法01-31
艺术概论考试11-06
视准线法原理 矿大小作业09-17
线路板外观验收标准 - 图文11-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 笔记
- 学习
- IAR
- AVR
- 高震东演讲读后感
- 课程实验报告(2016抽样技术)
- 2015版质量环境管理体系内审检查表范例 - 图文
- 社区残疾人协会工作计划(7000字)
- 金文vb教程讲义word文档
- 格力水冷模块机方案书 - 图文
- 浅谈高层建筑的结构设计
- 枣阳市委书记陈东灵到兴隆镇 - 图文
- 上海市行政执法证考试题库单选题(101-200)
- 抗溶性水成膜泡沫灭火剂3% AFFFAR性能与试用范围
- 关于 千峰派 三问
- 2013年广州市综合测试(一)生物科分析报告(定稿) - 图文
- 省安监局关于“六大系统”建设的通知
- 三年级下册语文专项部分-句子-湘教版小学学科网
- 买字画网站?在哪买既便宜又好看 - 图文
- 淮阴工学院2009—2010学年单项奖名单7
- 山东省水利水电工程施工企业项目负责人知识考试题库(2018年第一版)
- 2 英语-2016届高三上学期10月月考英语试题
- 国资委、国有企业附注
- 水泥 砂 等购销合同