原创 网络卸载模块,开放源代码-WIZ820io用户手册2

2012-3-21 17:12 1095 19 19 分类: 消费电子

接上篇:http://forum.eet-cn.com/BLOG_ARTICLE_11715.HTM

3.3 写操作

在nSS置低后,依次在MOSI输出地址、OP代码、数据长度和数据字节。

同样,W5200支持单字节写操作和多字节写操作。单字节写操作由4个指令组成:16位地址、1位OP代码(1)、15位数据长度和8位数据数组。单字节写操作时,数据长度需设置为1;而多字节写操作时,数据长度需设置为数据实际长度。在进行写操作时,在nSS进入低电平后,需将MSO置低。

6.jpg

/* 每8bit数据包写数据的虚拟程序代码 */

#define data_write_command 0x80

uint16 addr; //地址: 16bits

int16 data_len; //数据长度 :15bits

uint8 data_buf[]; // 数据数组

{

 

SpiSendData(); //由MCU传送数据到 W5200

 

ISR_DISABLE();// 禁止中断服务程序

CSoff();// CS=0, SPI 开始

SpiSendData(((addr+idx) & 0xFF00) >> 8); //地址字節 1

SpiSendData((addr+idx) & 0x00FF); //地址字節 2

// 写数据命令 + 数据长度上限 7bits

SpiSendData((data_write_command | ((data_len& 0x7F00) >> 8)));

// 最后的数据长度8bits

SpiSendData((data_len& 0x00FF));

 

//写数据:在 data_len> 1, 突發读取處理模式(Burst Read Processing Mode)

for(int idx = 0; idx;>

SpiSendData(data_buf[idx]);

CSon(); // CS=1, SPI 完结

IINCHIP_ISR_ENABLE(); // 禁止中断服务程序

 

 

更多精彩内容,我会继续和大家分享,欢迎留言并评论,谢谢!

更多精彩内容请阅读:http://forum.eet-cn.com/BLOG_ARTICLE_11715.HTM

文章评论0条评论)

登录后参与讨论
我要评论
0
19
关闭 站长推荐上一条 /2 下一条