打印
[STM32F4]

有一个函数没有看明白。。。

[复制链接]
1339|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
静海惊天|  楼主 | 2016-7-8 13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void FSMC_WriteHalfWord(uint32_t Address, uint16_t Data)
{
        *(__IO u16 *)(Address) = Data;
}




看别人的一段代码, 我有点不明白,使用的是FSMC接口, 整个是赋值写的,函数参数是32位的地址,为什么里面要强制转换为16位地址?
沙发
Adu0227| | 2016-7-8 14:33 | 只看该作者
是强制转化为16位指针

使用特权

评论回复
板凳
IversonCar| | 2016-7-8 21:11 | 只看该作者
这个address已经定义好是要写的地址了

使用特权

评论回复
地板
静海惊天|  楼主 | 2016-7-8 21:55 | 只看该作者
我弄明白了, 这个是把32位的值,强制转换成指向16位 无符号整型数 的指针

使用特权

评论回复
5
643757107| | 2016-7-9 11:12 | 只看该作者
void FSMC_WriteHalfWord(uint32_t Address, uint16_t Data)
{
        *(__IO u16 *)(Address) = Data;
}

这个函数的两个参数一个是地址一个是数据,把数据放到这个地址的内存里。

使用特权

评论回复
6
Micachl| | 2016-7-9 20:51 | 只看该作者
这个是写flash的函数吧,直接把数据写到address的地址去

使用特权

评论回复
7
Messi1999| | 2016-7-11 13:01 | 只看该作者
这个是写flash的代码吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

366

帖子

1

粉丝