ソースコード公開(1画面描画)
/*
**---------------------------------------------------------------------------
**
** Abstract: 480×272の全ピクセル描画(1回描画更新)
**
** Parameters: なし
**
** Returns: なし
**
** Note: 本関数を繰り返し呼び出すことで、画面をリフレッシュ
**
**---------------------------------------------------------------------------
*/
void Lcd_Display(void)
{
**---------------------------------------------------------------------------
**
** Abstract: 480×272の全ピクセル描画(1回描画更新)
**
** Parameters: なし
**
** Returns: なし
**
** Note: 本関数を繰り返し呼び出すことで、画面をリフレッシュ
**
**---------------------------------------------------------------------------
*/
void Lcd_Display(void)
{
int i;
////////////////////////////////////////////////////////////////////////////
// VSYNCをLOWのまま、10ライン分送信する。
// DATAは、無効
////////////////////////////////////////////////////////////////////////////
dLCD_VSYNC_LOW;
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //10
////////////////////////////////////////////////////////////////////////////
// VSYNCをHIにして、2ライン分送信する。
// DATAは、無効です。
////////////////////////////////////////////////////////////////////////////
dLCD_VSYNC_HI;
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //2
////////////////////////////////////////////////////////////////////////////
// 272ライン分送信する。
// DATAが有効です。
////////////////////////////////////////////////////////////////////////////
g_pDataLeft = &uc8Data[0];
g_pDataRight = &uc8Data[0];
for(i = 0 ; i < 272 ; i++){
////////////////////////////////////////////////////////////////////////////
// 2ライン分送信する。
// DATAは、無効です。
////////////////////////////////////////////////////////////////////////////
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //2
}////////////////////////////////////////////////////////////////////////////
// VSYNCをLOWのまま、10ライン分送信する。
// DATAは、無効
////////////////////////////////////////////////////////////////////////////
dLCD_VSYNC_LOW;
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //10
////////////////////////////////////////////////////////////////////////////
// VSYNCをHIにして、2ライン分送信する。
// DATAは、無効です。
////////////////////////////////////////////////////////////////////////////
dLCD_VSYNC_HI;
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //2
////////////////////////////////////////////////////////////////////////////
// 272ライン分送信する。
// DATAが有効です。
////////////////////////////////////////////////////////////////////////////
g_pDataLeft = &uc8Data[0];
g_pDataRight = &uc8Data[0];
for(i = 0 ; i < 272 ; i++){
Lcd_Display_Horizon();
}////////////////////////////////////////////////////////////////////////////
// 2ライン分送信する。
// DATAは、無効です。
////////////////////////////////////////////////////////////////////////////
Lcd_Display_HorizonNot();
Lcd_Display_HorizonNot(); //2
uc8Dataの配列には、240×272のフルカラービットマップのデータを格納しています。つまりデータのサイズは、uc8Data[240*272*3]=192kByteのデータです。本当は、uc8Data[480*272*3]=382kByteのデータを格納したいのですが、V850のフラッシュサイズが256kByteであり、全領域のデータをFlashに格納することができません。