查看: 856|回复: 0
打印 上一主题 下一主题

读写缓冲区

[复制链接]
跳转到指定楼层
沙发
发表于 2015-10-29 08:58:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
读写缓冲区
       读写缓冲区的操作也是易于理解的。需要说明的是,两个函数具有相同的输入参数,参数len代表被操作数据的长度,pdata为被操作数据的指针。和寄存器读写函数相似,发送或接收数据之前需要发送特定的操作码。
<font size="3">void enc28j60ReadBuffer(unsigned int len, unsigned char* pdata)
{
  /* 使能ENC28J60 */
  ENC28J60_CSL();
       /* 通过SPI发送读取缓冲区命令*/
       spi_sendbyte(ENC28J60_READ_BUF_MEM);
  /* 循环读取 */
       while(len)
       {
    len--;
    /* 读取数据 */
    *pdata = (unsigned char)spi_sendbyte(0);
    /* 地址指针累加 */
    pdata++;
       }
  /* 增加字符串结尾 便于操作 */
       *pdata='\0';
  /* 禁止ENC28J60 */
       ENC28J60_CSH();
}
void enc28j60WriteBuffer(unsigned int len, unsigned char* pdata)
{
  /* 使能ENC28J60 */
  ENC28J60_CSL();
       /* 通过SPI发送写取缓冲区命令*/
       spi_sendbyte(ENC28J60_WRITE_BUF_MEM);

  /* 循环发送 */
       while(len)
       {
              len--;
    /* 发送数据 */
              spi_sendbyte(*pdata);
    /* 地址指针累加 */
              pdata++;
       }

  /* 禁止ENC28J60 */
       ENC28J60_CSH();
}</font>
复制代码转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表