16+
Суббота
20 октября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
0men  (11.01.2018 18:06) , в ответ на подозрительное поведение LAN8720: если подать на плату питание, подождать пока пройдет инициализация LwIP и только потом воткнуть Ethernet кабель, то почти наверняка пинга не будет. При этом внутренние регистры LAN показывают что линк есть. Ну и автор: Sylvan
Во общем, парни, был не прав, все забыл )) Индусский косяк у меня исправлен таким образом: Раз в секунду вызывается функция, анализирующая наличие линка и (при необходимости) апающая или даунущая интерфейсы: 
void ethernetif_set_link_a(struct netif *netif)
{
	uint32_t regvalue = 0;
  
	/* Read PHY_BSR*/
	HAL_ETH_ReadPHYRegister(&EthHandle, PHY_BSR, ®value);

	/* Check whether the link is up or down*/
	if((regvalue & 0x0004)!= (uint16_t)RESET)
	{
		if ((netif->flags & NETIF_FLAG_LINK_UP) == (uint16_t)RESET)
	  		netif_set_link_up(netif);
	}
	else
	{
		if ((netif->flags & NETIF_FLAG_LINK_UP) != (uint16_t)RESET)
			netif_set_link_down(netif);
	}
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII