OpenEdv-开源电子网

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

有人用过STM32 的MIPI接口吗,发现发送数据总是超时

[复制链接]

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-10-29
在线时间
56 小时
发表于 2021-5-1 14:34:52 | 显示全部楼层 |阅读模式
10金钱
使用DSI_IO_Write,发送第四条就超时了,一看是FIFO非空,不知道是不是配置上有什么问题。
void DSIHOST_DSI_Init(void)
{
  DSI_PLLInitTypeDef PLLInit = {0};

  DSI_PHY_TimerTypeDef  PhyTimings;
       
  hdsi.Instance = DSI;
  hdsi.Init.AutomaticClockLaneControl = DSI_AUTO_CLK_LANE_CTRL_DISABLE;
  hdsi.Init.TXEscapeCkdiv = 3;
  hdsi.Init.NumberOfLanes = DSI_TWO_DATA_LANES;
  PLLInit.PLLNDIV = 96;
  PLLInit.PLLIDF = DSI_PLL_IN_DIV5;
  PLLInit.PLLODF = DSI_PLL_OUT_DIV1;
  if(HAL_DSI_Init(&hdsi, &PLLInit) != HAL_OK)
  {

  }


  VidCfg.VirtualChannelID = 0;
  VidCfg.ColorCoding = DSI_RGB888;
  VidCfg.LooselyPacked = DSI_LOOSELY_PACKED_DISABLE;
  VidCfg.Mode = DSI_VID_MODE_BURST;
  VidCfg.PacketSize = lcdltdc.pwidth;
  VidCfg.NumberOfChunks = 0;
  VidCfg.NullPacketSize = 0xFFFU;
  VidCfg.HSPolarity = DSI_HSYNC_ACTIVE_HIGH;
  VidCfg.VSPolarity = DSI_VSYNC_ACTIVE_HIGH;
  VidCfg.DEPolarity = DSI_DATA_ENABLE_ACTIVE_HIGH;
  VidCfg.HorizontalSyncActive = (lcdltdc.hsw * 60000U)/50000;
  VidCfg.HorizontalBackPorch = (lcdltdc.hbp * 60000U)/50000;
  VidCfg.HorizontalLine =  ((lcdltdc.pwidth + lcdltdc.hsw + lcdltdc.hbp + lcdltdc.hfp) * 60000U)/50000;
  VidCfg.VerticalSyncActive = lcdltdc.vsw;
  VidCfg.VerticalBackPorch = lcdltdc.vbp;
  VidCfg.VerticalFrontPorch = lcdltdc.vfp;
  VidCfg.VerticalActive = lcdltdc.height;
       
  VidCfg.LPCommandEnable = DSI_LP_COMMAND_ENABLE;
  VidCfg.LPLargestPacketSize = 16;
  VidCfg.LPVACTLargestPacketSize = 0;
  VidCfg.LPHorizontalFrontPorchEnable = DSI_LP_HFP_ENABLE;
  VidCfg.LPHorizontalBackPorchEnable = DSI_LP_HBP_ENABLE;
  VidCfg.LPVerticalActiveEnable = DSI_LP_VACT_ENABLE;
  VidCfg.LPVerticalFrontPorchEnable = DSI_LP_VFP_ENABLE;
  VidCfg.LPVerticalBackPorchEnable = DSI_LP_VBP_ENABLE;
  VidCfg.LPVerticalSyncActiveEnable = DSI_LP_VSYNC_ENABLE;
  VidCfg.FrameBTAAcknowledgeEnable = DSI_FBTAA_DISABLE;
  if (HAL_DSI_ConfigVideoMode(&hdsi, &VidCfg) != HAL_OK)
  {

  }
       
  /* Configure DSI PHY HS2LP and LP2HS timings */
  PhyTimings.ClockLaneHS2LPTime = 35;
  PhyTimings.ClockLaneLP2HSTime = 35;
  PhyTimings.DataLaneHS2LPTime = 35;
  PhyTimings.DataLaneLP2HSTime = 35;
  PhyTimings.DataLaneMaxReadTime = 0;
  PhyTimings.StopWaitTime = 10;
  HAL_DSI_ConfigPhyTimer(&hdsi, &PhyTimings);
}

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

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2021-5-13
在线时间
10 小时
发表于 2021-6-16 14:41:57 | 显示全部楼层
兄弟不会也是用469驱动MIPI把
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 13:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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