完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Buffer是个什么东东?
|
|
|
|
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer,SIZE);
|
|
|
|
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer[0],SIZE);
|
|
|
|
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer,SIZE);
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer[0],SIZE); |
|
|
|
()和[ ]的区别好大的呀
|
|
|
|
一样的效果。
|
|
|
|
但是我实验的结果是不一样的啊?
第一种情况:LED翻转20次,正常 DJ_Buffer[0]=20; //led灯翻转次数 STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer,1); 第二种情况:LED翻转很多很多次,不正常! DJ_Buffer[0]=20; STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)DJ_Buffer[0],1); |
|
|
|
原子哥还有一个问题:我想把 DJ_Buffer[1]写到 FLASH_SAVE_ADDR+2里,该怎么写?
写成: DJ_Buffer[1]=30; STMFLASH_Write(FLASH_SAVE_ADDR+2,(u16*)(DJ_Buffer+2),1); LED翻转很多很多次不正常。 |
|
|
|
这个问题解决了,改成(u16*)(DJ_Buffer+1)就可以了。
|
|
|
|
假设DJ_Buffer是个char型数组
char DJ_Buffer[] = {0xaa,0xbb,0xcc,0xdd,0xee,0xff}; 那(u16*)DJ_Buffer应该是将这个数组的首地址(假设为0XFFF0)类型转换为u16*,其原来类型是char *; 而(u16*)DJ_Buffer[0]则是将数组中第一个元素转换为u16*的指针变量,即是指向0xaa的地址。 |
|
|
|
谢谢!讲的很清楚。
|
|
|
|
一个是定义16位的整形变量定义,还有一个是返回值为指针形参为强制类型转换的函数声明吧;
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4465 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
341浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
341浏览 2评论
367浏览 2评论
360浏览 2评论
403浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 12:43 , Processed in 1.119705 second(s), Total 100, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号