C语言: *p++

复制代码
/* 3、循环写入多个字节数据 */
for (uint8_t i = 0; i < len; i++) {
    Driver_SPI_SwapByte(*pBuf++);
}

分析

  1. 指针 pBuf

    • pBuf 是一个指向缓冲区的指针,用于存储要发送的数据。
  2. *pBuf

    • *pBuf 表示指针 pBuf 所指向的当前字节。
    • 每次循环中,Driver_SPI_SwapByte(*pBuf) 会将当前字节通过 SPI 接口发送出去。
  3. pBuf++

    • pBuf++ 是一个后缀递增操作符,它首先返回 pBuf 的当前值,然后将 pBuf 自身增加 1。
    • 这意味着每次循环中,Driver_SPI_SwapByte(*pBuf++) 会先发送当前字节,然后将指针 pBuf 移动到下一个字节。

示例解释

假设 pBuf 指向一个包含多个字节的缓冲区,例如:

复制代码
uint8_t buf[] = {0x01, 0x02, 0x03, 0x04};
  • 初始时,pBuf 指向 buf[0]
  • 第一次循环:
    • Driver_SPI_SwapByte(*pBuf++) 发送 buf[0](即 0x01),然后 pBuf 移动到 buf[1]
  • 第二次循环:
    • Driver_SPI_SwapByte(*pBuf++) 发送 buf[1](即 0x02),然后 pBuf 移动到 buf[2]
  • 以此类推,直到发送完所有字节。

完整代码示例

复制代码
uint8_t buf[] = {0x01, 0x02, 0x03, 0x04};
uint8_t len = sizeof(buf);

/* 3、循环写入多个字节数据 */
for (uint8_t i = 0; i < len; i++) {
    Driver_SPI_SwapByte(*pBuf++);
}

总结

  • *pBuf :访问指针 pBuf 当前指向的字节。
  • pBuf++:后缀递增操作符,先返回当前值,然后将指针移动到下一个字节。
  • 循环:通过循环逐个发送缓冲区中的每个字节。
相关推荐
ACP广源盛139246256732 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
im_AMBER3 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
是苏浙6 小时前
零基础入门C语言之C语言内存函数
c语言·开发语言
闭着眼睛学算法8 小时前
【双机位A卷】华为OD笔试之【排序】双机位A-银行插队【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
AI柠檬10 小时前
C语言基于MPI并行计算矩阵的乘法
c语言·c++·算法
czy878747511 小时前
C语言实现观察者模式
c语言·观察者模式
代码雕刻家12 小时前
1.4.课设实验-数据结构-单链表-文教文化用品品牌2.0
c语言·数据结构
侯小啾13 小时前
【22】C语言 - 二维数组详解
c语言·数据结构·算法
qq_4798754313 小时前
Linux time function in C/C++【2】
linux·c语言·c++
yuuki23323314 小时前
【数据结构】双向链表的实现
c语言·数据结构·后端