[STM32F4] 有一个函数没有看明白。。。

[复制链接]
1555|6
 楼主| 静海惊天 发表于 2016-7-8 13:50 | 显示全部楼层 |阅读模式
  1. void FSMC_WriteHalfWord(uint32_t Address, uint16_t Data)
  2. {
  3.         *(__IO u16 *)(Address) = Data;
  4. }




看别人的一段代码, 我有点不明白,使用的是FSMC接口, 整个是赋值写的,函数参数是32位的地址,为什么里面要强制转换为16位地址?
Adu0227 发表于 2016-7-8 14:33 | 显示全部楼层
是强制转化为16位指针
IversonCar 发表于 2016-7-8 21:11 | 显示全部楼层
这个address已经定义好是要写的地址了
 楼主| 静海惊天 发表于 2016-7-8 21:55 | 显示全部楼层
我弄明白了, 这个是把32位的值,强制转换成指向16位 无符号整型数 的指针
643757107 发表于 2016-7-9 11:12 | 显示全部楼层
void FSMC_WriteHalfWord(uint32_t Address, uint16_t Data)
{
        *(__IO u16 *)(Address) = Data;
}

这个函数的两个参数一个是地址一个是数据,把数据放到这个地址的内存里。
Micachl 发表于 2016-7-9 20:51 | 显示全部楼层
这个是写flash的函数吧,直接把数据写到address的地址去
Messi1999 发表于 2016-7-11 13:01 | 显示全部楼层
这个是写flash的代码吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

366

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部