- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCC18使用技巧
MCC18使用技巧
MCC18 FAQ4 如何在数据存储器中创建一个大对象( 256 字节)?
默认情况下, MPLAB C18 假设对象不超过存储区边界。要安全使用大于256 字节的对象,需要执行下列步骤:1. 必须使用#pragma idata 或#pragma udata 伪指令将对象分配到恰当的段中:#pragma udata buffer_scnstatic char buffer[0x180];#pragma udata2. 必须通过指针访问对象:char * buf_ptr = buffer[0];...// examples of usebuf_ptr[5] = 10;if (buf_ptr[275] 127)...3. 必须在链接描述文件中创建一个跨越多个存储区的区域:- 修改前的链接描述文件:DATABANK NAME=gpr2 START=0x200 END=0x2FFDATABANK NAME=gpr3 START=0x300 END=0x3FF- 修改后的链接描述文件:DATABANK NAME=big START=0x200 END=0x37F PROTECTEDDATABANK NAME=gpr3 START=0x380 END=0x3FF4. 必须通过在链接描述文件中添加SECTION 伪指令,将对象所在的段(在第1 步中创建)分配到新的区域(在第3 步中创建):SECTION NAME=buffer_scn RAM=big
MCC18 FAQ3 如何修复数据存储器段的“unable to fit section”(不能分配到段)错误?
MPLAB C18 提供了两种不同的数据存储器段类型:? udata——包含静态分配的未初始化用户变量? idata——包含静态分配的已初始化用户变量在MPLAB C18 中每种段类型都有默认的段(如.udata_foobar.o)。例如,给出以下位于foobar.c 中的源代码:? ? ? ? unsigned char foo[255];? ? ? ? int bar;? ? ? ? void main (void)? ? ? ? while (1)? ? ? ? ;? ? ? ? }该代码会导致下列错误:Error - section ‘.udata_foobar.o’ can not fit the section.Section ‘.udata_foobar.o’ length = 0有两种方法可解决这个错误:1. 将foobar.c 分成多个文件:? ? ? ? foo.c? ? ? ? unsigned char foo[255];? ? ? ? void main (void)? ? ? ? {? ? ? ? while (1)? ? ? ? ;? ? ? ? }? ? ? ? bar.c? ? ? ? int bar;2. 使用#pragma udata 伪指令创建一个独立的段,包含foo 和bar 变量:? ? ? ? foobar.c? ? ? ? #pragma udata foo? ? ? ? unsigned char foo[255];? ? ? ? #pragma udata bar? ? ? ? int bar;? ? ? ? void main (void)? ? ? ? {? ? ? ? while (1)? ? ? ? ;? ? ? ? }或者参照FAQ4
FAQ1 在MCC18里,怎样将浮点数转成ASCII 以便可以用诸如printf之类的库函数显示?
FAQ1: 在MCC18里,怎样将浮点数转成ASCII 以便可以用诸如printf之类的库函数显示?方法:为了不使printf库函数代码过大,MCC18 printf不支持浮点(%f %g以及%h类型)输出。如果要printf支持浮点输出,库函数代码大小将可能会加倍。那么,如何用printf来显示浮点数呢?我们知道printf支持定点数显示,这样我们就可以用如下示例演示代码来用printf显示浮点数。仅供参考。/**************************************************** 以下代码用来演示用printf在USART上显示浮点数。? ?? ?? ?*? ?? ?? ?? ?? ?? ?? ?? ? *注意:将要显示的浮点数转成两个变量,分别表示? ?? ?? ?? ?**浮点数小数点左边部分和右边部分。小数点右边不? ?? ?? ?? ?**需要的数据可按需要用适当的
您可能关注的文档
- ARCGIS教程第二十章线多边形要素的高级编辑.doc
- ARCGIS教程第五章相互位置查询空间连接.doc
- Assignment_1_suggested_solutions.doc
- ATB-30配合比试验报告1.doc
- Auditingtestbankchapter10.doc
- Auditingtestbankchapter4(荐)..doc
- Auditingtestbankchapter10(荐)..doc
- AuditingandAssuranceServices15eTBchapter1.doc
- AuditingandAssuranceServices15eTBchapter1(荐)..doc
- Auditingtestbankchapter4.doc
最近下载
- 25题固定收益分析岗位常见面试问题含HR问题考察点及参考回答.pdf
- 韶关市2025届高三一模(综合测试一) 英语试卷(含答案).docx
- 工作报告及设计心得20160831.pdf VIP
- SPC导入的钢箱截面在生成变截面时,消隐显示各板件连接错乱.pdf VIP
- Lessonsinlifesaving英国短片剧本.docx VIP
- 2019年注册土木工程师(道路工程)考前培训南京班文件-李 雪.pdf VIP
- 上海市2018-2022年近五年中考数学试卷附答案.pdf VIP
- 城轨车站施工与维护——开挖作业.pptx VIP
- 城轨车站施工与维护——围护结构施工及基坑开挖.pptx VIP
- 铁道概论——单元7.7铁路专用通信系统.pptx VIP
文档评论(0)