📄 digitalphotoalbum_handler.c
字号:
/******************************************************************************
* Description:
* System Test Program
* Interrupt Handlers
*
******************************************************************************/
#include "src/common/common.h"
#include "DigitalPhotoAlbum.h"
extern uint32 blendValue;
extern uint32 imageState;
extern imageStruct *p_images;
extern imageNum;
/*******************************************************************************
*
* Timer 1 Interrupt Handler
*
*******************************************************************************/
__interrupt__
__declspec(interrupt:0)
void norm_DTimer0_isr(void)
{
/* Clear interrupt by writing 1 */
MCF_DTIM0_DTER = 0x00000003;
switch(imageState)
{
case SHOW_BACKGROUND:
{
MCF_DTIM0_DTRR = 0x0000FFFF;
if (blendValue != 0x00)
{
blendValue = blendValue - 5;
MCF_LCDC_LGWCR = ( MCF_LCDC_LGWCR_GWAV(blendValue) | MCF_LCDC_LGWCR_GWE );
}
else
imageState = SET_NEW_FOREGROUND;
break;
}
case SHOW_FOREGROUND:
{
MCF_DTIM0_DTRR = 0x0000FFFF;
if (blendValue != 255)
{
blendValue = blendValue + 5;
MCF_LCDC_LGWCR = ( MCF_LCDC_LGWCR_GWAV(blendValue) | MCF_LCDC_LGWCR_GWE );
}
else
imageState = SET_NEW_BACKGROUND;
break;
}
case SET_NEW_BACKGROUND:
{
MCF_DTIM0_DTRR = 0x000FFFFF;
imageNum++; /* Increment to next image */
if ( imageNum == p_images->numImages)
imageNum = 0; /* Wrap if at the end of the array */
LCDC_Display_Image((uint8*)p_images->imageArray[imageNum]);
imageState = SHOW_BACKGROUND;
break;
}
case SET_NEW_FOREGROUND:
{
MCF_DTIM0_DTRR = 0x000FFFFF;
imageNum++; /* Increment to next image */
if ( imageNum == p_images->numImages)
imageNum = 0; /* Wrap if at the end of the array */
LCDCGW_Display_Image((uint8*)p_images->imageArray[imageNum]);
imageState = SHOW_FOREGROUND;
break;
}
default:
{
imageState = SHOW_FOREGROUND;
blendValue = 0;
break;
}
}
} /*norm_DTimer0_isr */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -