2012年8月10日星期五

如何使用W7100A實現網路字元LCD(二)

我们接着上一篇博文,把如何使用W7100A实现网络字符LCD的第二部分介绍给大家。



3. 硬件配置
3.1 配置
3.2 字符LCD(Character LCD)连接器和引脚描述
图6显示了字符LCD(Character LCD)接口(JP1)电路。表1列出了字符LCD(Character LCD)各引脚的描述。
4. 固件程序说明
网络字符LCD(Character LCD)工作于TCP服务器模式下。在该模式下,W7100A等待客户端连接请求,并且当与客户端连接之后,与客户端进行数据通信。(更多的详细信息,请参阅‘因特网嵌入式MCU W7100A数据手册9.2.1.1和文档‘如何在W7100A中实现TCP’)。
扩展TCP回路测试(Loopback)的实例代码,这些代码都包含在‘如何在W7100A实现TCP’文档中,它们可用于实现网络字符LCD(Character LCD)。网络字符LCD(Character LCD)的程序流程如图7所示。
4.1 初始化
Socket状态寄存器(Sn_SR)的值是SOCK_ESTABLISHED(0x01),这个值也是软件初始化之后Socket的值。Socket中断寄存器的值是Sn_IR_CON(=0x01),该值表示客户端成功连接到服务器。
-向客户端发送信息: 代码第51-53行和59-61行
-初始化保存data_buf值的tmp_data_buf :代码第44行
-清除字符LCD(character LCD) : 代码第47-48行
-避免初始化进程的重复,清除Sn_IR的值:代码第56行
4.2 接收数据
‘接收读取缓存大小寄存器(Receive Read Buffer Size Register)’ 用来接收字符串,并且字符串的长度必须为16字节,如果接收读取缓存的长度大于16,使用recv()来接收数据(代码65-68)。根据buf_idx(buffer_index)函数,在data_buf中接收到的数据将被复制到tmp_data_buf中。
Tmp_data_buf的大小为17 x32。也就是说它可以保存32个字符串,每个字符串有16个字符和一个Null字符。如果接收成功并且数据保存到tmp_data_buf中,则向客户端(代码84-86)发送一个表示成功的信息。
4.3 显示
滚动tmp_data_buf的源代码如下:使用在字符LCD(Character LCD)驱动源代码lcd.c中定义的evb_set_lcd_text()函数。evb_set_lcd_text()函数的参数是1位(0或者1)和16个字符串。同时,如上面所提到的,tmp_data_buf最多能够保存32列,lcd_scroll()函数用来在2行字符串LCD(Character LCD)中滚动实现所有的字符串。Dis_idx(display_index)用来在2行字符LCD(Character LCD)中滚动实现32个字符串(代码127-128)。
这就是如何使用W7100A实现网络字符LCD的全部内容,希望对大家有所帮助。
【WIZnet是一家知名的私营半导体公司,于1998年在韩国创办。主要产品是相关网络处理器,iMCU,基于TOE技术的全硬件TCP/IP协议栈芯片。iMUC市场中,在嵌入式因特网设备拥有多种应用,这与当地区域情况密切相关。
WIZnet设立两项主要任务:产品全球化和开源硬件平台。产品全球化致力于忠诚的为客户提供定制的技术支持。而开源硬件平台是希望在新生代电子工业行业中,成为一个领先的标准网络处理器品牌。】
如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。

想了解更多,请登录我们的网站:http://www.iwiznet.cn/

或者来电:86-10-84539974(转166),QQ:2377211388,联系人:TME-Jerry 谢谢!
官方博客:blog.iwiznet.cn

没有评论:

发表评论