📄 main.c
字号:
#include <stdio.h>
#include <string.h>
#include "config.h"
#include "lcd.h"
#include "sd.h"
#include "vs1003.h"
#include "TM7843.h"
uint8 Y;
extern INT32U Index;
extern INT8U deName[8];
extern INT8U deExtension[3];
extern uint16 VOL;
extern INT32U fsize[10];
extern INT8U fname[10][8];
extern INT8U fext[10][3];
extern INT8U fcount;
extern unsigned char const ASCII[95][16];
extern unsigned char const Image1[512];
extern unsigned char const Image2[512];
void Time0Init(void)
{ /* Fcclk = Fosc*5 = 11.0592MHz*5 = 55.296MHz
Fpclk = Fcclk/2 = 55.296MHz/2 = 27.698MHz
*/
T0PR = 99; // 设置定时器0分频为100分频,得276980Hz
T0MCR = 0x03; // 匹配通道0匹配中断并复位T0TC
T0MR0 = 276980; // 比较值(1S定时值)
T0TCR = 0x03; // 启动并复位T0TC
T0TCR = 0x01;
}
//====以下,目标板用户初始化子程序================================================
void TargetInit(void)
{
// IRQEnable();
}
void InitialiseUART0(uint32 bps)
{
uint16 Fdiv;
PINSEL0 = (PINSEL0 & 0xfffffff0) | 0x05; /* Select the pins for Uart 选择管脚为UART0 */
U0LCR = 0x80; /* Enable to access the frequenc regecter
允许访问分频因子寄存器 */
Fdiv = (Fpclk / 16) / bps; /* Set the baudrate设置波特率 */
U0DLM = Fdiv / 256;
U0DLL = Fdiv % 256;
U0LCR = 0x03; /* Disable to access the frequenc regecter
禁止访问分频因子寄存器 */
/* set to 8,1,n 且设置为8,1,n */
U0IER = 0x00; /* Disable interrupt禁止中断 */
U0FCR = 0x00; /* initial FIFO 初始化FIFO */
}
void UART0_SendByte(uint8 data)
{
U0THR = data;
while((U0LSR&0x40)==0);
}
uint8 UART0_RcvByte()
{
uint8 data;
while((U0LSR&0x01)==0);
data =U0RBR;
return(data);
}
void Lcd_MusicPrint(unsigned short x,unsigned short y,unsigned short color,unsigned char num)
{
char temp;
x=x-2;
temp=(num+1)/10+0x30;
Lcd_putchar(x,y,color,&temp);
x+=8;
temp=(num+1)%10+0x30;
Lcd_putchar(x,y,color,&temp);
x+=8;
Lcd_putchar(x,y,color,".");
x+=8;
x = Lcd_Print(x,y,color,&(char)fname[num][0],8);
Lcd_putchar(x,y,color,".");
x+=8;
Lcd_Print(x,y,color,&(char)fext[num][0],3);
}
int main (void)
{
uint8 temp;
uint16 j,k;
char *c= "Kenn Player";
unsigned char i;
Y=62;
Time0Init();
InitialiseUART0(9600);
UART0_SendByte('O');
UART0_SendByte('K');
SD_Init();
SD_Init();
Fat_Init();
Lcd_Init();
SPI0_Init(512);
Index=0;
GetMusicFile();
Lcd_FillBlack(0);
TouchScreed();
Lcd_putstr(76,22,0xffff,c);
for(i=0;i<fcount;i++)
{
Lcd_MusicPrint(30,Y+i*20,0xffff,i);
Lcd_image(6, Y+i*20,2);
}
VS1003_Init();
VS1003_Play();
/*
while(1)
{
if(!TM_INT_STATE)
{
k=60000;
while(k--);
j= ReadTouch(0x90);
temp=j>>8;
UART0_SendByte(temp);
temp=j;
UART0_SendByte(temp);
j= ReadTouch(0xd0);
UART0_SendByte(j>>8);
UART0_SendByte(j);
}
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -