你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H750使用FMC控制LCD数据异常

[复制链接]
streamlee 提问时间:2020-3-20 11:34 /
      简单来说就是:给lcd发送1个数据,逻辑分析仪检测到4个数据波形,其中只有第一个数据是我要发送的!
      工程是用Cube配置的,同样的配置在F407上正常,LCD能正常显示,但是H750只有单字节命令ok(开关屏显,sleep等),无法正常显示,最后拿逻辑分析仪检测到:发一个数据会出现4个数据波形,只有第一个数据波形是正常的,后边的数据波形不知道怎么来的。

  1. #define Lcd_Cmd_Reg  *((__IO uint16_t *)((uint32_t)0x60000000)) // ?? ?? C/D(A19)=1
  2. #define Lcd_Data_Reg *((__IO uint16_t *)((uint32_t)0x60100000)) //?? C/D(A19)=0
  3. //写寄存器函数
  4. //regval:寄存器值
  5. static void LCD_WR_REG(uint16_t regval)
  6. {
  7.    Lcd_Cmd_Reg = regval; //写入要写的寄存器序号
  8. }

  9. //写LCD数据
  10. //data:要写入的值
  11. static void LCD_WR_DATA(uint16_t data)
  12. {
  13.    Lcd_Data_Reg = data;
  14. }
  15. //LCD开启显示
  16. void LCD_DisplayOn(void)
  17. {
  18.    LCD_WR_REG(0x11);//Sleep out
  19.    osDelay(120);
  20.    LCD_WR_REG(0x29);// Display on
  21. }
复制代码
   图片波形是发送0x11的波形

发送命令0x11出现的波形

发送命令0x11出现的波形
<
收藏 评论7 发布时间:2020-3-20 11:34

举报

7个回答
streamlee 回答时间:2020-3-20 13:40:24
补充一点:H750在cube配置中没有使能i-cache,d-cache,mpu
zhikaiwu 回答时间:2020-3-25 14:58:33
MPU需要设置一下
zhikaiwu 回答时间:2020-3-25 15:25:18
void MPU_Config(void)
{
  MPU_Region_InitTypeDef MPU_InitStruct = {0};

  /* Disables the MPU */
  HAL_MPU_Disable();
  /** Initializes and configures the Region and the memory to be protected
  */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER0;
  MPU_InitStruct.BaseAddress = 0x60000000;
  MPU_InitStruct.Size = MPU_REGION_SIZE_256MB;
  MPU_InitStruct.SubRegionDisable = 0x0;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
  MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
  MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
  MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;

  HAL_MPU_ConfigRegion(&MPU_InitStruct);
  /* Enables the MPU */
  HAL_MPU_Enable(MPU_HFNMI_PRIVDEF);

}
zhikaiwu 回答时间:2020-3-25 15:52:26
开CACHE ,按我上面的代码就可以了

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

huangxuejia-292 回答时间:2020-3-25 23:21:45
我百度网盘有H750+FSMC+9341 TFT LCD的代码
用STM32CubeIDE编译的。
有需要的话去我网站www.wujique.com
streamlee 回答时间:2020-4-20 15:03:12
zhikaiwu 发表于 2020-3-25 15:25
void MPU_Config(void)
{
  MPU_Region_InitTypeDef MPU_InitStruct = {0};

谢谢,已解决,主要是MPU和指令数据地址需要修改
streamlee 回答时间:2020-4-20 15:05:00
huangxuejia-292 发表于 2020-3-25 23:21
我百度网盘有H750+FSMC+9341 TFT LCD的代码
用STM32CubeIDE编译的。
有需要的话去我网站www.wujique.com ...

多谢,已解决

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版