野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 276|回复: 3

向FLASH写入小数

[复制链接]
发表于 2019-9-8 14:59:24 | 显示全部楼层 |阅读模式
例程有一节是向flash写入小数
       long double double_buffer[7] = {0};
       void SPI_FLASH_BufferWrite(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite)
      SPI_FLASH_BufferWrite((void*)double_buffer, SPI_FLASH_PageSize*1, sizeof(double_buffer));
(void*)double_buffer强制转换为void类型指针,但SPI_FLASH_BufferWrite的型参是u8*类型的,这不就相当于u8* pBuffe=((void*)double_buffer,这样可以么,
我之前以为(void*)强制转回去的也只能是double类型的
求大神解惑

回复

使用道具 举报

发表于 2019-9-9 09:21:19 | 显示全部楼层
void 指针可以指向任意类型的数据,那么在函数里面pBuffer的加减运算也是按本身的u8类型的字节数偏移
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-9 10:24:54 | 显示全部楼层
本帖最后由 邹德胜 于 2019-9-9 10:27 编辑
void*不可以强制转换成其他类型指针,先不谈强制转换,上述程序,是直接void*作为参数传递给char*,这点我不明白
QQ图片20190909102528.png
回复 支持 反对

使用道具 举报

发表于 2019-9-9 11:18:41 | 显示全部楼层
邹德胜 发表于 2019-9-9 10:24
void*不可以强制转换成其他类型指针,先不谈强制转换,上述程序,是直接void*作为参数传递给char*,这点我 ...

这图用的什么编译器?


1.png




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|站点地图|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号-2 ) 大学生ARM嵌入式2群

GMT+8, 2020-8-5 03:16 , Processed in 0.185045 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表