OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 703|回复: 4

stm32F429+emwin+lwip 抖屏

[复制链接]

12

主题

22

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-7-9
在线时间
23 小时
发表于 2024-5-15 17:29:49 | 显示全部楼层 |阅读模式
20金钱
本帖最后由 憧憬明天 于 2024-5-16 15:33 编辑

连接网线,并且界面有刷新的时候(比如键盘操作,或者条形进度条更新进度),屏幕会随机的颤抖一下。

界面没有刷新动作或者不连网线的时候,都不会抖。
  1. void USR_LWIP_Init(void)
  2. {
  3.   struct netif*  ptNetIf;
  4.   u32 iLocalIp = g_SetInfo.uiIpLocal;
  5.   u32 iNetMsk  = g_SetInfo.uiNetMsk;  
  6.   u32 iGw      = g_SetInfo.uiGw;

  7.   /* Initilialize the LwIP stack with RTOS */
  8.   tcpip_init( NULL, NULL );

  9. #if LWIP_DHCP  
  10.   /* IP addresses initialization with DHCP (IPv4) */
  11.   lwipdev.tIpLocal.addr = 0;
  12.   lwipdev.tNetMask.addr = 0;
  13.   lwipdev.tGateWay.addr = 0;
  14. #endif

  15.   /* add the network interface (IPv4/IPv6) with RTOS */
  16.   IP4_ADDR(&lwipdev.tIpLocal,iLocalIp&0xff,(iLocalIp>>8)&0xff,(iLocalIp>>16)&0xff,(iLocalIp>>24)&0xff);
  17.   IP4_ADDR(&lwipdev.tNetMask,iNetMsk&0xff,(iNetMsk>>8)&0xff,(iNetMsk>>16)&0xff,(iNetMsk>>24)&0xff);
  18.   IP4_ADDR(&lwipdev.tGateWay,iGw&0xff,(iGw>>8)&0xff,(iGw>>16)&0xff,(iGw>>24)&0xff);

  19.   ptNetIf = netif_add(&lwip_netif, &(lwipdev.tIpLocal), &(lwipdev.tNetMask), &(lwipdev.tGateWay),NULL,ðernetif_init,&tcpip_input);
  20.   /* Registers the default network interface */
  21.   netif_set_default(&lwip_netif);
  22.   if(netif_is_link_up(&lwip_netif))
  23.   {
  24.     /* When the netif is fully configured this function must be called */
  25.     netif_set_up(&lwip_netif);
  26.   }
  27.   else
  28.   {
  29.     /* When the netif link is down this function must be called */
  30.     netif_set_down(&lwip_netif);
  31.   }
  32.   
  33.   /* Set the link callback function, this function is called on change of link status*/
  34.   netif_set_link_callback(&lwip_netif, ethernetif_update_config);

  35. #if LWIP_DHCP  
  36.   /* Start DHCP negotiation for a network interface (IPv4) */
  37.   lwipdev.dhcpstatus    = 0;
  38.   dhcp_start(&lwip_netif);
  39. #endif

  40.   xTaskCreate((TaskFunction_t )ethernetif_set_link,           
  41.                           (const char*          )"ethernetif_set_link",
  42.                           (uint16_t           )NET_LINK_SIZE,
  43.                           (void*                  )&lwip_netif,                          
  44.                           (UBaseType_t          )NET_LINK_PRIO,  
  45.                           (TaskHandle_t*  )&NetLink_Handler);
  46. }

  47. void ethernetif_set_link(void *argument)
  48. {
  49.   uint32_t regvalue = 0;
  50.   struct netif *gnetif = (struct netif *)argument;
  51.   
  52.   for(;;)
  53.   {
  54.     /* Read PHY_BSR*/
  55.     HAL_ETH_ReadPHYRegister(Ð_Handler, PHY_BSR, ®value);
  56.    
  57.     regvalue &= PHY_LINKED_STATUS;
  58.    
  59.     /* Check whether the netif link down and the PHY link is up */
  60.     if(!netif_is_link_up(gnetif) && (regvalue))
  61.     {
  62.       /* network cable is connected */
  63.       netif_set_link_up(gnetif);
  64.     }
  65.     else if(netif_is_link_up(gnetif) && (!regvalue))
  66.     {
  67.       /* network cable is dis-connected */
  68.       netif_set_link_down(gnetif);
  69.     }
  70.    
  71.     /* Suspend thread for 200 ms */
  72.     vTaskDelay(200);
  73.   }
  74. }
复制代码



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

22

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-7-9
在线时间
23 小时
 楼主| 发表于 2024-5-16 17:03:47 | 显示全部楼层
把EMWIM 和LWIP 的内存区域分开就可以了。
回复

使用道具 举报

12

主题

22

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-7-9
在线时间
23 小时
 楼主| 发表于 2024-5-16 17:04:59 | 显示全部楼层
EMWIN  和 LWIP  的内存管理都在SDRAM里面,就会有问题。
回复

使用道具 举报

12

主题

22

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2018-7-9
在线时间
23 小时
 楼主| 发表于 2024-5-16 17:06:48 | 显示全部楼层

EMWIN   的内存管理 SDRAM,LWIP 管理片内的内存,就会有问题。
但是不知道为啥?
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4471
金钱
4471
注册时间
2013-4-22
在线时间
335 小时
发表于 2024-5-18 20:54:12 | 显示全部楼层
说明有复用的IO口,SDRAM和LWIP底层硬件有复用的数据线
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 04:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表