tag 标签: wiz810mj

相关博文
  • 热度 23
    2012-12-7 15:29
    765 次阅读|
    0 个评论
    WIZ810MJ是WIZnet研发的一款 直插式网络模块,它内嵌全硬件TCP/IP芯片W5200及Mag Jack模块,支持简单快速的硬件设计,此视频是国外用户使用WIZ810MJ搭建的MSP430网络服务器。谢谢关注! 更多相关信息,欢迎访问我们的官方博客:blog.iwzinet.cn 官方网站:www.iwiznet.cn
  • 热度 16
    2012-8-27 10:35
    979 次阅读|
    0 个评论
      LED屏对我们来说并不陌生,电影院售票处的LED大屏幕会显示各部电影的播放时间以及价格等;银行大厅里会显示每天的汇率以及利率等,还会显示正在办理业务的客户的号码等;每天上班的路上,抬头看看桥上面的LED屏,会显示路段的拥挤状况……这些既是所谓的“LED News Ticker”,它的一个最大的特点是可以实时地更新信息,在LED屏上显示的消息可以是变化的、动态的以及实时更新的。 微知纳特(WIZnet)设计挑战赛在该方面有很好的表现,下面视频中提到的“基因项目”是很好的证明。借助于WIZnet的WIZ810MJ ,“基因项目”易于实现。“LED News Ticker”由两个主要部分组成,第一部分是主板,第二部分是与LED显示屏相连的以太网板。主板是内嵌了Microsoft扩展包的MAC控制器,以太网板是WIZnet的WIZ810MJ。WIZ810MJ模块的主要部件是WIZnet的全硬件TCP/IP以太网控制器W5100,W5100是已经内嵌了PHY部分的。用W5100实现接口转以太网。 主板把本地信息转换成合适的信息,然后再把这些信息发送到以太网板显示出来,以太网板与LED通过SPI接口进行通信。详情请观看下列视频。 视频在这里:http://v.youku.com/v_show/id_XNDI2OTczNzE2.html     更多有关Wiz810MJ和W5100的视频和博文请看这里: Wiz810MJ相关视频http://blog.iwiznet.cn/?page_id=552 W5100相关视频http://blog.iwiznet.cn/?page_id=486 培训笔记之WIZnet的主要产品是什么?http://blog.iwiznet.cn/?p=390 全硬件TCP/IP嵌入式以太网控制器——W5100E01-AVR http://blog.iwiznet.cn/?p=432 Arduino网络扩展板方案剖析http://blog.iwiznet.cn/?p=239 WIZnet员工Richard培训笔记: WIZnet核心技术和产品对比http://blog.iwiznet.cn/?p=29   也可进入我们的官方网站或博客查看更多。 如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。 可以直接留言或登录WIZnet官方网站:http://www.iwiznet.cn 公司微博是: http://weibo.com/wiznet2012 公司博客是:http://blog.iwiznet.cn/
  • 热度 22
    2012-8-24 10:50
    1155 次阅读|
    0 个评论
      该视频讲述的是Arduino微控制器和WIZnet的W5100和WIZ810MJ连接并且通信的一个演示过程。 WIZnet的W5100和WIZ810MJ属于硬体以太网模组,W5100是TCP/IP晶片,WIZ810MJ属于I/O晶片。 W5100和WIZ810MJ通过SPI进行连接,与Arduino微控制器也是通过SPI进行通信的。通过简单的TCP/IP对模组进行配置,就可以实现网路连接了。如果LED闪烁,说明在重新进行连接。详细演示请观看以下视频。   视频在这里: http://v.youku.com/v_show/id_XNDI1NDM1MDUy.html 更多有关W5100和WIZ810MJ的视频和博文请看这里: W5100相关视频 http://blog.iwiznet.cn/?page_id=486 Wiz810MJ相关视频http://blog.iwiznet.cn/?page_id=552 全硬件TCP/IP嵌入式以太网控制器——W5100E01-AVR http://blog.iwiznet.cn/?p=432   也可进入我们的官方网站或博客查看更多。 如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。 可以直接留言或登录WIZnet官方网站:http://www.iwiznet.cn 公司微博是: http://weibo.com/wiznet2012 公司博客是:http://blog.iwiznet.cn/
  • 热度 24
    2012-4-20 10:14
    1348 次阅读|
    0 个评论
    这是我第一次自己做的关于强大的Arduino和WIZnet WIZ810MJ的组合。下面就是作品~ 我从ebay买了一个卡,自己做的焊接,我并很擅长这个,因为毕竟这是我第一次做,不过还好,最终我完成了!!   这就是我经过几个小时焊接的结果~~ 很好,我可以连接Arduino了!!! 我按照下面的教程: http://code.rancidbacon.com/LearningAboutArduinoWIZ810MJ 经过模块的调试,我终于可以ping了 我用一个交叉以太网电缆直接连接到电脑上,因为是通过wifi连接的,所以连接以太网是免费的。。。 由于篇幅限制,具体代码请参考下一篇博文 Arduino 和 WIZnet 2: http://forum.eet-cn.com/BLOG_ARTICLE_12058.HTM   原文请参考:http://arduinowiznet.blogspot.com/
  • 热度 20
    2012-4-20 10:12
    1600 次阅读|
    0 个评论
    接上文 Arduino 和 WIZnet: http://forum.eet-cn.com/BLOG_ARTICLE_12057.HTM 具体代码如下: Code to test wiznet WIZ810MJ module See: Current features: * Read register/address values * Write register/address values * Configure networking to enable ping * Terrible hacked-together code License: LGPL (Although note spi_transfer comes from the Playground originally.) */ // Define SPI-related pins #define PIN_DATA_OUT 11 // MOSI (Master Out / Slave In) #define PIN_DATA_IN 12 // MISO (Master In / Slave Out) #define PIN_SPI_CLOCK 13 // SCK (Serial Clock) #define PIN_SLAVE_SELECT 10 // SS (Slave Select) #define PIN_RESET 9 // WIZnet module /RESET #define WIZNET_OPCODE_READ 0x0F #define WIZNET_OPCODE_WRITE 0xF0 #define DUMMY_DATA 0xFF void setup () { Serial.begin(9600); Serial.println("Setup enter..."); Serial.print("SPCR: "); Serial.println(SPCR, BIN); // Configure SPI // Configure I/O pins pinMode(PIN_DATA_OUT, OUTPUT); pinMode(PIN_DATA_IN, INPUT); pinMode(PIN_SPI_CLOCK, OUTPUT); pinMode(PIN_SLAVE_SELECT, OUTPUT); digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave // Configure SPI Control Register (SPCR) (All values initially 0) // Bit Description // 7 SPI Interrupt Enable -- disable (SPIE -- 0) // 6 SPI Enable -- enable (SPE -- 1) // 5 Data Order -- MSB 1st (DORD -- 0) (Slave specific) // 4 Master/Slave Select -- master (MSTR -- 1) // 3 Clock Polarity -- (CPOL -- 0) (Slave specific) ("Mode") // 2 Clock Phase -- (CPHA -- 0) (Slave specific) // 1 SPI Clock Rate Select 1 -- } (SPR1 -- 0) // 0 SPI Clock Rate Select 0 -- } fOSC/4 (SPR0 -- 0) ("Fastest" but see SPI2X in SPSR) SPCR = (1 Serial.print("SPCR: "); Serial.println(SPCR, BIN); // Clear previous data and status (TODO: Determine if necessary/better way.) // (Based on Playground SPI example.) byte dummy; dummy = SPSR; dummy = SPDR; delay(10); // Serial.println((1 // Serial.print("IODIR response: "); // iodirVal = getRegister(deviceOpcodeRead, REG_IODIR); // Serial.println(iodirVal, BIN); // setRegister(deviceOpcodeWrite, REG_IODIR, newVal); Serial.println("Triggering reset..."); pinMode(PIN_RESET, OUTPUT); digitalWrite(PIN_RESET, HIGH); // no reset delay(10); // Pretty arbitrary length digitalWrite(PIN_RESET, LOW); // reset delay(10); digitalWrite(PIN_RESET, HIGH); // no reset delay(10); Serial.println("Reset triggered..."); // Attempt read Serial.println("Read attempt..."); // digitalWrite(PIN_SLAVE_SELECT, LOW); // Enable slave /* byte data; data = spi_transfer(0x0F); // read Serial.print("Response: "); Serial.println(data, HEX); data = spi_transfer(0x00); // address part1 Serial.print("Response: "); Serial.println(data, HEX); data = spi_transfer(0x18); //address part2 //18 should return 0xD0 after reset. Serial.print("Response: "); Serial.println(data, HEX); data = spi_transfer(0xFF); // dummy Serial.print("Response: "); Serial.println(data, HEX); digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave */ // RTR Retry Time-value Register Serial.print("Read 0x0017: "); Serial.println(readAddressValue(0x00, 0x17), HEX); Serial.print("Read 0x0018: "); Serial.println(readAddressValue(0x00, 0x18), HEX); Serial.println("Read attempt end..."); Serial.println("Write attempt start..."); Serial.print("Initial read 0x0001: "); Serial.println(readAddressValue(0x00, 0x01), HEX); writeAddressValue(0x00, 0x01, 0xC0); Serial.print("Post-write read 0x0001: "); Serial.println(readAddressValue(0x00, 0x01), HEX); Serial.println("Write attempt end..."); Serial.println("Configure device..."); // default gateway writeAddressValue(0x00, 0x01, 0xC0); writeAddressValue(0x00, 0x02, 0xA8); writeAddressValue(0x00, 0x03, 0x02); writeAddressValue(0x00, 0x04, 0x65); // subnet mask writeAddressValue(0x00, 0x05, 0xFF); writeAddressValue(0x00, 0x06, 0xFF); writeAddressValue(0x00, 0x07, 0xFF); writeAddressValue(0x00, 0x08, 0x00); // source hardware address (MAC?) writeAddressValue(0x00, 0x09, 0x00); writeAddressValue(0x00, 0x0A, 0xDE); writeAddressValue(0x00, 0x0B, 0xAD); writeAddressValue(0x00, 0x0C, 0xBE); writeAddressValue(0x00, 0x0D, 0xEF); writeAddressValue(0x00, 0x0E, 0x00); // source ip address writeAddressValue(0x00, 0x0F, 0xC0); writeAddressValue(0x00, 0x10, 0xA8); writeAddressValue(0x00, 0x11, 0x02); writeAddressValue(0x00, 0x12, 0x69); Serial.println("End configure device..."); Serial.println("Setup exit..."); } byte readAddressValue(byte addressHiByte, byte addressLowByte) { // TODO: use a word for the address instead byte data = 0x00; digitalWrite(PIN_SLAVE_SELECT, LOW); // Enable slave // TODO: Check response values? e.g. 0x00, 0x01, 0x02 spi_transfer(WIZNET_OPCODE_READ); spi_transfer(addressHiByte); spi_transfer(addressLowByte); data = spi_transfer(DUMMY_DATA); digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave return data; } void writeAddressValue(byte addressHiByte, byte addressLowByte, byte targetValue) { // TODO: use a word for the address instead digitalWrite(PIN_SLAVE_SELECT, LOW); // Enable slave // TODO: Check response values? e.g. 0x00, 0x01, 0x02 spi_transfer(WIZNET_OPCODE_WRITE); spi_transfer(addressHiByte); spi_transfer(addressLowByte); spi_transfer(targetValue); digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave } /* byte getRegister(byte targetDeviceOpcode, byte registerAddress) { digitalWrite(PIN_SLAVE_SELECT, LOW); // Enable slave spi_transfer(targetDeviceOpcode); spi_transfer(registerAddress); // The register we want to read byte data; // Correct type? data = spi_transfer(0xFF); // Transfer dummy byte to get response digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave return data; } */ /* void setRegister(byte targetDeviceOpcode, byte registerAddress, byte value) { // TODO: Do Better? digitalWrite(PIN_SLAVE_SELECT, LOW); // Enable slave spi_transfer(targetDeviceOpcode); spi_transfer(registerAddress); // The register we want to write spi_transfer(value); digitalWrite(PIN_SLAVE_SELECT, HIGH); // Disable slave } */ // From Playground char spi_transfer(volatile char data) { SPDR = data; // Start the transmission while (!(SPSR (1 { }; return SPDR; // return the received byte } void loop() { }   欢迎大家留言评论~~