自圆其说--指针赋值

下面展示一些 内联代码片

HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi,uint8_t *pTxData, uint8_t *pRxData, uint16_t Size,uint32_t Timeout)

形参pRxData

  uint8_t                    *pRxBuffPtr;                  /*!< Pointer to SPI Rx transfer Buffer  
  hspi->pRxBuffPtr  = (uint8_t *)pRxData;

指针的赋值,“=”的左操作数可以是*p,也可以是p。

当“=”的左操作数是*p时,改变的是p所指向的地址存放的数据;

当“=”的左操作数是p时,改变的是p所指向的地址

显然 我们在改变指向的地址 而且是(uint8_t*)强制类型转化后的

*((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);

指针前面有*,显然在改变地址存放的数值而且类型是(uint32_t *) RXDR寄存器里取值 前面__IO volatile类型

 *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
 *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);

类似效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值