📄 main.c
字号:
#include "spi.h"
#include "flash.h"
#include "kbd.h"
#include "lcd.h"
#include "font.h"
#include "consts_structs.h"
//--------------------------------------------------------
void DrawCursor(int x1,int x2,int oldpos, int newpos)
{
if(oldpos >= 0)
fill_rect_gr((x1) << 3, (oldpos) << 4, (x2) << 3, (oldpos + 1) << 4, 0);
if(newpos >= 0)
fill_rect_gr((x1) << 3, (newpos) << 4, (x2) << 3, (newpos + 1) << 4, 1);
}
void LoadFontToFlash()
{
unsigned short pageNum = 8,i,j;
OutStringXY("Erasing flash...",10,7);
SpiEraseChip();
OutStringXY("Loading font ...",10,7);
i = 0;
while(i<4096)
{
for(j = 0; j < 264;j++)
{
flash_buf[j] = FNT_GOST[i];
i++;
if (i>4095) break;
}
SpiWritePage(pageNum,0,flash_buf,264);
pageNum++;
}
OutStringXY("Loading symbols ",10,7);
SpiWritePage(SYMB_ZERO_PAGE,0,zero,256);
SpiWritePage(SYMB_ONE_PAGE,0,one,256);
SpiWritePage(SYMB_TWO_PAGE,0,two,256);
SpiWritePage(SYMB_THREE_PAGE,0,three,256);
SpiWritePage(SYMB_FOUR_PAGE,0,four,256);
SpiWritePage(SYMB_FIVE_PAGE,0,five,256);
SpiWritePage(SYMB_SIX_PAGE,0,six,256);
SpiWritePage(SYMB_SEVEN_PAGE,0,seven,256);
SpiWritePage(SYMB_EIGHT_PAGE,0,eight,256);
SpiWritePage(SYMB_NINE_PAGE,0,nine,256);
SpiWritePage(SYMB_KILO_PAGE,0,kilo,256);
SpiWritePage(SYMB_MILLI_PAGE,0,mil,144);
SpiWritePage(SYMB_MICRO_PAGE,0,mic,144);
SpiWritePage(SYMB_OMEGA_PAGE,0,om,144);
OutStringXY(" OK! ",10,7);
}
//--------------------------------------------------------------------------------------------
void main()
{
unsigned short maxRow = 3, currentRow = 0,oldRow = 0, yOffset = 2;
InitKbd();
InitSpi();
InitLCD();
OutStringXY("Format flash",2,2);
OutStringXY("Test 1",2,3);
OutStringXY("Test 2",2,4);
DrawCursor(1,15,oldRow + yOffset,currentRow + yOffset);
while(1)
{
switch(GetKey())
{
case KEY_DOWN:
oldRow = currentRow;
currentRow++;
if (currentRow > maxRow -1 ) currentRow = 0;
DrawCursor(1,15,oldRow + yOffset,currentRow + yOffset);
break;
case KEY_UP:
oldRow = currentRow;
if(currentRow > 0)
currentRow--;
else
currentRow = maxRow - 1;
DrawCursor(1,15,oldRow + yOffset,currentRow + yOffset);
break;
case KEY_ENTER:
if (currentRow == 0)
{
LoadFontToFlash();
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -