📄 main.c
字号:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <string.h>
#include "tinyfat.h"
#include "TFT_LCD.h"
#include "diskio.h"
#include "portBit.h"
//FILINFO finfo;
FATFS fatfs; /* File system object for each logical drive */
static volatile
BYTE timeDelay;
ISR(TIMER0_COMPA_vect)
{
if(timeDelay) timeDelay--;
disk_timerproc(); /* Drive timer procedure of low level disk I/O module */
}
static
void IoInit ()
{
// OCR2 = 90-1; // Timer2: 100Hz interval (OC2)
// TCCR2 = 0b00001101;
// TIMSK = 0b10000000; // Enable TC2.oc, TC0.oc interrupt
//DDRC=0xff;
//PORTC=0xff;
//DDRD=0xff;
TCCR0A= (1<<WGM01); // Timer0: 100Hz interval (8Mhz OSC)
TCCR0B= (1<<CS02);
TIMSK0= (1<<OCIE0A);
TCNT0 =0;
OCR0A =15;
sei();
}
/*-----------------------------------------------------------------------*/
/* Main */
BYTE filebuf[256];
BYTE fileNamebuf[6];
void init_fileNamebuf(void)
{
fileNamebuf[0]='1';
fileNamebuf[1]='.';
fileNamebuf[2]='B';
fileNamebuf[3]='I';
fileNamebuf[4]='N';
fileNamebuf[5]='\0';
}
int main(void)
{
UINT i,j;
BYTE fileItem;
UINT s2;
//FATFS *fs;
//DIR dir; /* Directory object */
FIL file1; /* File object */
IoInit();
init_fileNamebuf();
LCD_Init();
LCD_SetSCRN(0x001F);//Bule
disk_initialize(0);
f_mount(0, &fatfs);
DelayMs(2000);
LCD_HLine(2, 100, 100, RED);
//LCD_HLine(2, 101, 100, RED);
DelayMs(2000);
while(1)
{
for(fileItem=0;fileItem<10;fileItem++)
{
fileNamebuf[0]='1'+fileItem;
if(f_open(&file1, fileNamebuf, FA_OPEN_EXISTING | FA_READ)==FR_OK)
{
LCD_Start_Window();
for(i=0;i<640;i++)
{
f_read(&file1, filebuf, 240, &s2);
for(j=0;j<240;j++)
{
DATA_PORT = filebuf[j];
L(CTL_PORT,LCD_WR ); //WR=0
H(CTL_PORT,LCD_WR ); //WR=1
}
}
f_close(&file1);
DelayMs(2000);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -