📄 util.c
字号:
#include "util.h"
#include "example.h"
static int progress;
static int dots;
static int oldMode;
void stringCopy(const char* source, char* dest)
{
int i;
for(i = 0; source[i] != 0; ++i)
{
dest[i] = source[i];
}
dest[i] = 0;
}
void memCopy(const void* src, void* dest, int bytes)
{
int i;
const char* charSrc = (char*) src;
char* charDest = (char*) dest;
for(i = 0; i < bytes; ++i)
charDest[i] = charSrc[i];
}
void memFill(void* dest, int bytes, char value)
{
int i;
char* charDest = (char*) dest;
for(i = 0; i < bytes; ++i)
charDest[i] = value;
}
void memDisp(void* src, int bytes)
{
char* charSrc = (char*) src;
int i;
for(i = 0; i < bytes; ++i)
{
if(i%16 == 0)
printf("\n");
if((charSrc[i] & 0x0FF) <= 0x0F)
printf("0");
printf("%X ", charSrc[i] & 0x0FF);
}
}
int stringLength(const char* string)
{
int i;
for(i = 0; string[i] != 0; ++i);
return i;
}
int stringToInt(const char* string)
{
int value = 0;
int i;
for(i = 0; string[i] != 0; ++i)
{
value = value << 4;
value |= charToInt(string[i]);
}
return value;
}
int charToInt(const char ch)
{
switch (ch)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
return (ch - '0');
break;
case 'A':
case 'a':
return 10;
break;
case 'B':
case 'b':
return 11;
break;
case 'C':
case 'c':
return 12;
break;
case 'D':
case 'd':
return 13;
break;
case 'E':
case 'e':
return 14;
break;
case 'F':
case 'f':
return 15;
break;
default:
return 0;
}
}
void showProgress(int show)
{
if(show)
{
progress = 1;
dots = 0;
}
else
progress = 0;
}
void updateProgress(int bytesRead)
{
if(progress)
{
progress += bytesRead;
if(progress >= STATUS_DOT_INTERVAL)
{
#ifdef LCD_STATUS
lcdUpdateStatus();
#endif
printf(".");
++dots;
progress = 1;
if(dots >= STATUS_LINE_INTERVAL)
{
printf("\n");
dots = 0;
}
}
}
}
/*int setPageMode(int on)
{
uint32* configReg = (uint32*) MEM_STCFG0_ADDRESS;
int oldMode = (*configReg) & MEM_STCFG_PM_BIT ? 1 : 0; //read page mode bit
if(oldMode != on)
if(on)
(*configReg) |= MEM_STCFG_PM_BIT; //turn page mode on
else
(*configReg) &= ~MEM_STCFG_PM_BIT; //trun page mode off
return oldMode;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -