📄 main.c
字号:
#include <stdlib.h>
#include <string.h>
#include "..\inc\option.h"
#include "..\inc\44b.h"
#include "..\inc\def.h"
void Isr_Init(void);
void HaltUndef(void);
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);
/****************************************************************
My first S344B0 Application
***************************************************************/
static U16 ziku[][16]={
{0x4200,0x227E,0x2240,0x0FC0,0x8240,0x527E,0x5248,0x2348,0x2648,0x2A48,0xC248,0x4248,0x4288,0x4288,0x4B08,0x4408},//浙
{0x2000,0x1000,0x13FC,0x0040,0x8840,0x4840,0x5040,0x1040,0x1040,0x2040,0xE040,0x2040,0x2040,0x2FFE,0x2000,0x0000},//江
{0x0000,0x3FFC,0x0100,0x0100,0x0100,0x0100,0x7FFE,0x0100,0x0100,0x0280,0x0240,0x0420,0x0818,0x100E,0x2004,0x4000},//天
{0x1040,0x1080,0x13FC,0x1604,0x1BFC,0x5204,0x53FC,0x9000,0x13FC,0x3040,0x2BFC,0x2440,0x4444,0x47FE,0x8000,0x0000},//煌
{0x0608,0x7888,0x0848,0x0848,0xFE08,0x1888,0x1C48,0x2A48,0x280E,0x4878,0x8B88,0x0808,0x0808,0x0808,0x0808,0x0808},//科
{0x1020,0x1020,0x1020,0xFDFE,0x1020,0x1420,0x19FC,0x3108,0xD088,0x1090,0x1060,0x1060,0x1090,0x110E,0x5604,0x2000},//技
{0x0100,0x0080,0x3FFE,0x2804,0x4688,0x0480,0x0880,0x0680,0x0480,0x7FFE,0x0080,0x0140,0x0220,0x0410,0x1818,0x6010},//实
{0x0440,0x0440,0x0440,0x0444,0x4446,0x244C,0x2448,0x1450,0x1C50,0x1460,0x0440,0x0440,0x0444,0xFFFE,0x0000,0x0000},//业
{0x0100,0x0100,0x7FFE,0x0200,0x0400,0x0FF0,0x1810,0x2810,0x4FF0,0x8810,0x0810,0x0FF0,0x0810,0x0890,0x0870,0x0820},//有
{0x0000,0xFBF8,0x9208,0x93F8,0xA208,0xA208,0x93F8,0x8A80,0x8A48,0xAA50,0x9220,0x8220,0x8210,0x828E,0x8304,0x8200},//限
{0x0000,0x0440,0x0640,0x0440,0x0820,0x0810,0x1018,0x220E,0x4304,0x0200,0x0420,0x0810,0x11F8,0x3F18,0x1010,0x0000},//公
{0x0000,0x3FFC,0x0004,0x0004,0x7FE4,0x0004,0x0004,0x3FC4,0x2044,0x2044,0x3FC4,0x2044,0x2004,0x0014,0x0008,0x0000},//司
{0x0000,0x0000,0x0000,0x2251,0x529B,0x8B15,0x8A15,0x8A15,0x8A11,0x8A11,0xFA11,0x8A11,0x8A11,0x8A11,0x0000,0x0000},//ARM
{0x0100,0x0080,0x3FFE,0x2804,0x4688,0x0480,0x0880,0x0680,0x0480,0x7FFE,0x0080,0x0140,0x0220,0x0410,0x1818,0x6010},//实
{0x0000,0xF840,0x0840,0x48A0,0x4890,0x490E,0x4BF0,0x7C00,0x0484,0x0644,0x3548,0xC548,0x0410,0x17FE,0x0800,0x0000},//验
{0x0000,0x7FFE,0x0420,0x0420,0x0420,0x0420,0xFFFE,0x0420,0x0420,0x0420,0x0820,0x0820,0x1020,0x2020,0x4020,0x0000},//开
{0x0200,0x2240,0x2230,0x2210,0x7FFE,0x2400,0x0400,0x07E0,0x0C20,0x0A20,0x0A20,0x1140,0x2080,0x4160,0x861C,0x1808},//发
{0x007C,0x3F80,0x0220,0x0420,0x0840,0x1F80,0x0320,0x0C10,0x3FF8,0x108C,0x04A0,0x0890,0x1088,0x2084,0x4284,0x0100},//系
{0x1040,0x1020,0x23FE,0x2040,0x4440,0xF888,0x0904,0x13FE,0x2094,0x7C90,0x0090,0x0090,0x1D12,0xE112,0x020E,0x0400},//统
{0x0008,0x7FFC,0x0100,0x0100,0x0100,0x0100,0x0108,0x7FFC,0x0100,0x0100,0x0100,0x0100,0x0100,0x0104,0xFFFE,0x0000},
{0x0100,0x0100,0x0104,0xFFFE,0x0100,0x0100,0x0110,0x3FF8,0x0000,0x0200,0x1180,0x5084,0x5012,0x9012,0x0FF0,0x0000},
{0x0440,0x0448,0x0858,0x0860,0x18C0,0x2940,0x4A44,0x0844,0x093C,0x0100,0xFFFE,0x0100,0x0100,0x0100,0x0100,0x0100}
};
void Main(void)
{
U16 da[16];
int i,j;
char gets;
__rt_lib_init();
rSYSCFG=CACHECFG;
Port_Init();
Isr_Init();
rPCONA &=0x3f8; //PA0\1\2 OUTPUT
rPCOND &=0xfffd;
rPCOND |=0x01; //PD0 OUTPUT
rPDATD &=0xfe; //0
Uart_Init(0,115200);
Uart_Select(0);
Delay(0); //calibrate Delay()
Uart_Printf("\n\n\n\n ----LED Array Experiment----\n");
Uart_Printf("\nS3C44B0X Test Program cache config rSYSCFG=0x%x clock=%d\n\n",rSYSCFG,MCLK);
do {
for(i=0;i<19;i++) //19为需要显示字库中文字个数
{
for(j=0;j<16;j++)
{
{
Displayled(ziku[i]);
}
}
}
Uart_Printf("\rPress Any Key On Computer To Exit!!!\n");
gets=Uart_GetKey();
}while(!gets); //按任意键退出
//rPDATC =0x5500; //0
Uart_Printf("\nLED Array Test finished!\n");
}
void Isr_Init(void)
{
pISR_UNDEF=(unsigned)HaltUndef;
pISR_SWI =(unsigned)HaltSwi;
pISR_PABORT=(unsigned)HaltPabort;
pISR_DABORT=(unsigned)HaltDabort;
//rINTCON=0x1; // Vectored Int. IRQ enable,FIQ disable
rINTCON=0x5; // Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; // All=IRQ mode
rINTMSK=BIT_GLOBAL; // All interrupt is masked.
}
void HaltUndef(void)
{
Uart_Printf("Undefined instruction exception!!!\n");
while(1);
}
void HaltSwi(void)
{
Uart_Printf("SWI exception!!!\n");
while(1);
}
void HaltPabort(void)
{
Uart_Printf("Pabort exception!!!\n");
while(1);
}
void HaltDabort(void)
{
Uart_Printf("Dabort exception!!!\n");
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -