学习笔记_iccavr 语法_20050510

学习笔记_iccavr 语法_20050510

ID:10731259

大小:27.50 KB

页数:2页

时间:2018-07-07

学习笔记_iccavr 语法_20050510_第1页
学习笔记_iccavr 语法_20050510_第2页
资源描述:

《学习笔记_iccavr 语法_20050510》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学习笔记一.C语言1.WDR();//清看门狗指令2.NOP();//空指令二.2005-5-16ICCAVR编译注意事项1.对于#definecTCNT0(255-cTime0*1000/(cPrescale/Fclk))1.1结果是编译成运算没有直接转换成常量数值,不能采用,增加非常多的程序1.2#definecTCNT0178//(255-cTime0*1000/(cPrescale/Fclk))这样没有问题三.2005-5-13嵌入式汇编语言语法1.取低字节地址:asm("ldir30,<%vTaskContext");2.取高字节地

2、址:asm("ldir31,>%vTaskContext");3.使用C语言中的变量:用%,见上面例子4.asm(".areamemory(abs)"".org0x1000""_LCD_control_register::.blkw1""_LCD_data_register::.blkw1");5.asm("A:DECR16""BRNEA");四.2005-5-13C函数参数传递顺序及寄存器位置1.传递参数和返回值所使用的寄存器2.第一个参数若是整型则通过R16/R17传递第二个参数则通过R18/R19传递五.2005-5-131.在汇编函数

3、中必须保护和恢复下列寄存器R28/R29或Y这是结构指针R10/R11/R12/R13/R14/R15/R20/R21/R22/R23这些寄存器是调用保护寄存器,这些寄存器的内容在被汇编语言函数调用后必须保持不变2.R0/R1/R2/R3/R4/R5/R6/R7/R8/R9/R24/R25/R26/R27/R30/R31可以在汇编语言函数中使用而不被保护和恢复这些寄存器是调用挥发寄存器,这些寄存器的内容在被函数调用后可以改变六.2005-5-10MEGA芯片中有1.1V参考电源1.可直接用于A/D转换用七.2005-5-101.用:#prag

4、ma data:code  定义在flsh用:3pragma data:data 定义在sram2.要在flash中定义数组可以使用const语句,例如const char str[]={}八.constinttable[]={1,2,3};//"table"是表格式样分配进程序存贮器constchar*ptr1;//"ptr1"是一个项目在数据存贮器而指向数据的指针在程序存贮器char*constptr2;//"ptr2"是一个项目在程序存贮器而指向数据的指针在数据存贮器constchar*constptr3;//"ptr3"是项目在程序存

5、贮器而指向数据的指针也在程序存贮器九.EEPROM在运行时可以使用库函数访问1.#include2.EEPROM_READ(intlocation,object)2.1EEPROM_Read(0x1,i);//读2个字节给i3.EEPROM_WRITE(intlocation,object)3.1EEPROM_WRITE(0x1,i);//写两个字节至0x1二..ASC字符串1.eESC2.b退格3.f换页4.换行5.r回车6.tTAB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。