реклама на сайте
подробности

 
 
> w5100, пингуется, но данные не принимает
Метценгерштейн
сообщение Jan 27 2013, 16:32
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



связка STM32 + W5100

на пинги стала откликаться. шлю прогой netCat данные по UDP, но ничего не принимаю.
шлю так:

-u 192.168.30.1 3001 (тут enter нажимаю)
dffgdfgdr (любой текст)

так же проделываю это с прогой COM Port Data Emulator
там выбираю client mode, указываю порт, IP, случайные данные.

почему-то просто ничего не считываю в переменную в ф-ии IINCHIP_READ();

Код
uint8_t IINCHIP_READ(uint16_t addr)
{      
uint8_t temp=0;

off (WIZ_SCS);

Delay_ms(1);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData (SPI1,0x0f);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
temp=SPI_I2S_ReceiveData(SPI1);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData (SPI1,((addr & 0xFF00) >> 8));
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
temp=SPI_I2S_ReceiveData(SPI1);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData (SPI1,(addr & 0x00FF));
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
temp=SPI_I2S_ReceiveData(SPI1);

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData (SPI1,0xff);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
temp=SPI_I2S_ReceiveData(SPI1);

Usart1_Send_String( (char *) temp );
Usart1_Send_String("\r\n");

Delay_ms(1);

on (WIZ_SCS);

return temp;      
}


/********************************************************************************
*****************/
/********************************************************************************
*****************/
void WIZnet_main (void)
{
    WIZ_Init();

uint8_t recv_msg[8];
      
      // режим сервера
      socket (1, Sn_MR_UDP, 3001, 0); //for socket: number, protokol, source port, option ???
      listen (1); //socket number      
      
      while (1){
            if (IINCHIP_READ (Sn_SR(1))== SOCK_ESTABLISHED) {  //Sn_SR статус регистр          
              Usart1_Send_String("SOCK_ESTABLISHED \r\n");
              
              recv (1, &recv_msg[0], 8);  //socket, передаю адрес массива- куда читать, и длина данных
              disconnect (1);
              close (1);

            }              
            Usart1_Send_String( (char *)recv_msg );
      }      
  }


Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Метценгерштейн   w5100   Jan 27 2013, 16:32
- - lisstret   Код while (1){ if (IINCHIP_READ ...   Feb 14 2013, 00:00


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016