完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我使用MPLABX 3.15和XC8 1.35,使用18F25J50。我尝试把数组变量的指针传递给一个函数,通过I2C在函数中接收6个字节,并将这些字节保存到主要使用的数组中。我已经声明了这样的变量:函数在一个单独的C源文件中与主代码类似。其中XYMSBYBILE是I2C从中的第一个数据寄存器6的地址。我一直在读取6个设备一次一个I2C寄存器,并将它们保存在6个变量中。我想读取所有6个一个函数调用并保存到数组中。我已经通过模拟器运行代码。代码I2C部分在I2C读取正确后,与单独读取时一样,作为SSP1BUF中的数据工作。函数中的*数据指针将数据数组的地址作为值,然后递增到下一个地址,这似乎是正确的。但是,保存到DATAART数组的值与在“*Data +++=SSP1BUF”调用的SSP1BUF中的值不一样吗?当被编程到设备上时,这种行为也是相同的。我已经像上面那样发布了代码,因为我现在正在工作,并且无法访问完整的代码。
|
|
相关推荐
5个回答
|
|
|
转换到
|
|
|
|
|
|
谢谢,这工作,我有麻烦每次指针和参考!!
|
|
|
|
|
|
这里,* DataArray是数组的第一个元素的值,相当于DATAARDATAL〔0〕。数组的第一个元素的地址是&数据阵列[0 ]。数组的名称总是指向数组的第一个元素。也就是说,DataArray等同于&DataArray[0],这是您想要传递给该函数的内容。
|
|
|
|
|
|
对,几年前我也有同样的问题,但是没那么难。指针是ram上的物理地址,引用是该地址的“遥控器”。如果要尝试取指针,得到的数据是该位置的地址,但不是你想要的值,值你的变量。
|
|
|
|
|
|
你可以忘记“引用”这个词以及它与指针的对偶性。这里你要处理的是“C”,所以这里只有“指针”。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503 浏览 0 评论
5812 浏览 9 评论
2350 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3544 浏览 3 评论
1161浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1122浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
890浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
508浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 13:33 , Processed in 0.631519 second(s), Total 52, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1460