完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
您好,使用PIC16F18325和XC8。我使用下面的代码段来编写一个递增值来编程Flash。为了简化(HA)生命,我在Flash空间中定义了一个16位字的块。我知道我只能给每个人写14个比特。这里有一个定义:这里是一个调用程序行函数的代码。它应该传递给该函数,每个行的开始地址将被擦除/编程。传递的地址跳过太多,而我正在跳过行。我的期望是对PF_writeRow()的调用将按照以下顺序传递地址:0x04000x04200x04400x0460相反,我看到地址在8000范围内传递,并且跳过0x40而不是0x20。也就是说,通过的地址是:0x8400x84xx8480等。为什么& LogCSETATOA[RO](0)解码它的方式?LogStudia定义为32个UIT16列的行。每一个[RO]的增量应该跳过32个16位字。相反,它跳过了64。我根本没有得到0x8xxx地址空间部分。我的错误是什么?史蒂夫
|
|
相关推荐
6个回答
|
|
|
这样只能访问每个程序位置的下8位。将其定义为“uint16”迫使它为每个数组元素使用两个程序字,这解释了所有的加倍。访问全部14位的唯一方法是通过NVM寄存器。编辑:加上1和0关于t的第15位的说明。他的地址被设定。
|
|
|
|
|
|
线性寻址。为了使访问更容易,程序存储器被映射到FSR地址空间的上半部分。
|
|
|
|
|
|
如果你写每QHB,你需要把0x34放在每个字的上字节,所以它有正确的操作码。如果你不这样做,它将不会读取和可能崩溃。这种方法的优点是它能在没有特殊代码的情况下在C中读回。
|
|
|
|
|
|
这只适用于只能使用计算的GOTO读取程序内存的老式中档PIC16F。任何使用EE/NVM寄存器或者通过FSR读取它的PIC都不关心上面6位中的内容。将0x34放入0x34中,对旧芯片来说只是宿醉。
|
|
|
|
|
|
元素数组的大小为2。行中的元素数是32。32×2=64=0x40.0x8000用于闪存地址(与RAM相反)。快闪存储器被映射到起始于0x8000的数据空间。
|
|
|
|
|
|
编译器为F1图片生成的代码是什么?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503 浏览 0 评论
5812 浏览 9 评论
2350 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3544 浏览 3 评论
1160浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1122浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
889浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 08:06 , Processed in 0.662451 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3639