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

【STM32N6570-DK评测】5.驱动LCD

[复制链接]
奇迹 发布时间:2025-2-2 11:55

已经点了三篇的灯,这一篇换换口味,驱动一下板载的LCD,显示下面的图片。

image.png

STM32N6最大支持XGA(1024x768)分辨率显示,还有Chrom-ART、Chrom-GRC、NeoChrom GPU、JPEG codec等外设提高图像性能,当然今天我们不搞这么复杂,简单使用LTDC驱动一下屏幕就完事。


继续使用【STM32N6570-DK评测】1.最简点灯的工程,查看原理图,确认引脚情况

image.png

image.png

启动cubeMX,配置LTDC功能,设置在FSBL初始化,显示模式为RGB5656

image.png

配置初始化信息,可参考下图

image.png

设置显示范围与buffer大小(这里我是根据需要显示的图片大小设置的)

image.png

配置IO

image.png

image.png

设置时钟为25MHz

image.png

由于N6在安全性方面引入了RIF防火墙,资源有了安全和特权的概念。

image.png

LTDC连接的RGB屏,必须使用内部的ram作为缓存。因此需要将LTDC外设配置为特权安全模式。

/* USER CODE BEGIN LTDC_Init 2 */
RIMC_MasterConfig_t RIMC_master = {0};
RIMC_master.MasterCID = RIF_CID_1;
RIMC_master.SecPriv = RIF_ATTRIBUTE_SEC | RIF_ATTRIBUTE_PRIV;
HAL_RIF_RIMC_ConfigMasterAttributes(RIF_MASTER_INDEX_LTDC1 , &RIMC_master);
HAL_RIF_RISC_SetSlaveSecureAttributes(RIF_RISC_PERIPH_INDEX_LTDCL1 , RIF_ATTRIBUTE_SEC | RIF_ATTRIBUTE_PRIV);
/* USER CODE END LTDC_Init 2 */

编写main文件,增加将图片地址配置为LTDC图像缓存的代码

int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_LTDC_Init();
/* USER CODE BEGIN 2 */
HAL_LTDC_SetAddress(&hltdc, (uint32_t) image, 0);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}

编译并调试 image.png

收藏 评论0 发布时间:2025-2-2 11:55

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版