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++:后缀递增操作符,先返回当前值,然后将指针移动到下一个字节。
  • 循环:通过循环逐个发送缓冲区中的每个字节。
相关推荐
爱编码的小八嘎2 小时前
C语言完美演绎6-17
c语言
DfromY4 小时前
【随手记】YOCTO下MQTT使用简记
c语言·网络协议
计算机安禾5 小时前
【数据结构与算法】第22篇:线索二叉树(Threaded Binary Tree)
c语言·开发语言·数据结构·学习·算法·链表·visual studio code
算法鑫探6 小时前
解密2025数字密码:数位统计之谜
c语言·数据结构·算法·新人首发
:mnong6 小时前
Superpowers 项目设计分析
java·c语言·c++·python·c#·php·skills
计算机安禾6 小时前
【数据结构与算法】第21篇:二叉树遍历的经典问题:由遍历序列重构二叉树
c语言·数据结构·学习·算法·重构·visual studio code·visual studio
笨笨饿7 小时前
26_为什么工程上必须使用拉普拉斯变换
c语言·开发语言·人工智能·嵌入式硬件·机器学习·编辑器·概率论
初生牛犊不怕苦8 小时前
与AI一起学习《C专家编程》:数组与指针
c语言·学习·算法
小CC吃豆子9 小时前
C/C++中 int 的最大最小值
c语言·开发语言·c++
co_wait12 小时前
【C语言】字符串处理函数
c语言·开发语言