完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用MPASM和C18编译器重写使用大约80%汇编程序和20% C的遗留软件。遗留软件将所有EEPROM备份变量(一些是C浮点类型,其他是在程序集例程中定义的)放入bank3,然后我使用程序集例程将整个bank3复制到EEPROM。我想使用与XC8相同的策略,但在C中编写所有内容。我特别希望避免汇编程序的功能。理想的解决方案是强制存储在BANK3中的数据部分。这可以用PSCT来完成吗?我试图理解如何做到这一点,但发现XC8手册非常难以理解。我试过将bank3限定符与单个变量一起使用,但是编译器忽略了限定符,这显然是缺省的。我不想限定每一个变量,我更喜欢定义一个部分,但是我不能肯定这是可以做到的。在将所有变量放入bank3之后,我想我可以编写一个c函数,该函数使用设置为bank3的绝对起始地址的char指针,然后在循环中递增它。这将类似于我最初的汇编程序。Cosmo Little
|
|
相关推荐
2个回答
|
|
XC8不允许在18F设备上使用EEPROM限定符,因此在EEPROM中如何放置变量并不是很明显。MCC生成只处理单个字节的代码。我想不出有什么办法来使用多字节变量,所以我开始了一张票。回答的那位先生给了我一些非常聪明的代码,把任何变量分解成字节。这可能是普遍感兴趣的,因此我把它粘贴在这里:它将一个指针转换为浮点指向char的指针,这是我没有意识到的。
|
|
|
|
为什么不把所有的变量放到一个256字节的结构中呢?如果将此结构放入一个具有256元素“无符号char”数组的C“union”中,就可以轻松地以字节的形式访问所有结构,而不必使用难看的强制转换。
|
|
|
|
只有小组成员才能发言,加入小组>>
5139 浏览 9 评论
1987 浏览 8 评论
1917 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3158 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2215 浏览 5 评论
706浏览 1评论
597浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
480浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
609浏览 0评论
505浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 01:30 , Processed in 1.339360 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号