完善资料让更多小伙伴认识你,还能领取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”,所以这里只有“指针”。
|
|
|
|
只有小组成员才能发言,加入小组>>
5141 浏览 9 评论
1989 浏览 8 评论
1917 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3159 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2215 浏览 5 评论
708浏览 1评论
598浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
481浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
609浏览 0评论
508浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 09:32 , Processed in 1.461460 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号