中科因仑“3+1”工程特种兵精英论坛

标题: 读写缓冲区 [打印本页]

作者: 张衍波    时间: 2015-10-29 08:58
标题: 读写缓冲区
读写缓冲区
       读写缓冲区的操作也是易于理解的。需要说明的是,两个函数具有相同的输入参数,参数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>
复制代码转载






欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4