GadgetSeed  0.9.6
32f469i-disc_lcd.c ファイル

STM32F469I Discovery LCD ドライバ [詳解]

#include "device.h"
#include "device/video_ioctl.h"
#include "timer.h"
#include "tkprintf.h"
#include "graphics.h"
#include "stm32469i_discovery_lcd.h"
32f469i-disc_lcd.c の依存先関係図:

[ソースコード]

マクロ定義

#define LCD_WIDTH   800
 
#define LCD_HEIGHT   480
 
#define __ATTR_FRAMEBUFFER   __attribute__ ((section(".extram"))) __attribute__ ((aligned (4)))
 

関数

static void init_framebuf (void)
 
static uint8_t LCD_Init (void)
 
static void Display_DSIIF_Init (void)
 
static int lcd_register (struct st_device *dev, char *param)
 
static int lcd_ioctl (struct st_device *dev, unsigned int com, unsigned int arg, void *param)
 

変数

unsigned char lcd_f_buffer_main [LCD_WIDTH *LCD_HEIGHT *4] __ATTR_FRAMEBUFFER
 
LTDC_HandleTypeDef hltdc_discovery
 
DSI_HandleTypeDef hdsi_discovery
 
LTDC_HandleTypeDef hltdc_eval
 
DSI_HandleTypeDef hdsi_eval
 
DSI_VidCfgTypeDef hdsivideo_handle
 
static struct st_video_info lcd_info
 
const struct st_device lcd_device
 

詳解

STM32F469I Discovery LCD ドライバ

日付
2018.08.15
著者
Takashi SHUDO

32f469i-disc_lcd.c に定義があります。

関数詳解

◆ LCD_Init()

static uint8_t LCD_Init ( void  )
static

< LcdClk = 19200 kHz

< Vertical start active time in units of lines

< Vertical Back Porch time in units of lines

< Vertical Front Porch time in units of lines

< Vertical Active time in units of lines = imageSize Y in pixels to display

< Horizontal start active time in units of lcdClk

< Horizontal Back Porch time in units of lcdClk

< Horizontal Front Porch time in units of lcdClk

< Horizontal Active time in units of lcdClk = imageSize X in pixels to display

32f469i-disc_lcd.c47 行目に定義があります。

変数詳解

◆ lcd_device

const struct st_device lcd_device
初期値:
= {
.explan = "STM32F469I-Discovery LCD",
.info = (void *)&lcd_info,
.register_dev = lcd_register,
.ioctl = lcd_ioctl,
}
#define DEF_DEV_NAME_VIDEO
標準ビデオデバイス名
Definition: video_ioctl.h:16

32f469i-disc_lcd.c306 行目に定義があります。

◆ lcd_info

struct st_video_info lcd_info
static
初期値:
= {
.width = LCD_WIDTH,
.height = LCD_HEIGHT,
.color_depth = VCOLORDEP_32,
.frame_num = 2,
.frame_buf_ptr = { 0, 0 },
.mem_size = 0,
}
#define VCOLORDEP_32
32ビットカラー
Definition: video_ioctl.h:28
#define VIDEOTYPE_FRAMEBUF
カラーフレームバッファ(描画同期無し)
Definition: video_ioctl.h:21

32f469i-disc_lcd.c296 行目に定義があります。