⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 s1mp3 sdk, action mp3 develop tool kit!
💻 C
字号:
/*
  Retrieve some informations from the flash memory
  AB
  FC
*/

#include <s1sdk.h>

#define BUFFLEN 35
unsigned char Buff1[BUFFLEN];
unsigned char Buff2[BUFFLEN];
unsigned char Buff3[BUFFLEN];
unsigned char Buff4[BUFFLEN];
unsigned char Buff5[BUFFLEN];

unsigned char Vendor_ID[] = "Vendor ID: 0x00";
unsigned char Device_ID[] = "Device ID: 0x00";
unsigned char Page_Size[] = "Page size: 0x00";
unsigned char Flash_Size[] = "Flash size: 0x0000 Mb";

extern unsigned char FLASH_ManufacturerID;
extern unsigned char FLASH_DeviceID;
extern unsigned char FLASH_PageSize;

unsigned char getHex(unsigned char byte) {
    byte &= 0x0F;

    if(byte > 9) return(byte + 55);
    return(byte + 48);
}

void sprintByte(unsigned char *string, unsigned char byte) {
	string[0] = getHex(byte >> 4);
	string[1] = getHex(byte);
}

void sprintWord(unsigned char *string, unsigned int word) {
	sprintByte(string, (word >> 8) & 0xFF);
	sprintByte(string + 2, word & 0xFF);
}

void buffcopy(unsigned char *to, unsigned char *from) {
	unsigned int count;

	for(count = 0; count < BUFFLEN; count++) {
		to[count] = from[count];
	}
	to[(BUFFLEN - 1)] = 0;
}

int printstring(unsigned char *string) {
	buffcopy(Buff1, Buff2);
	buffcopy(Buff2, Buff3);
	buffcopy(Buff3, Buff4);
	buffcopy(Buff4, Buff5);
	buffcopy(Buff5, string);
	
	LCD_ClearScreen();
	LCD_WriteText(0, 0, FONT_FIVE_DOT, Buff1);
	LCD_WriteText(0, 6, FONT_FIVE_DOT, Buff2);
	LCD_WriteText(0, 12, FONT_FIVE_DOT, Buff3);
	LCD_WriteText(0, 18, FONT_FIVE_DOT, Buff4);
	LCD_WriteText(0, 24, FONT_FIVE_DOT, Buff5);
	LCD_UpdateScreen();
}

void s1memcpy(unsigned char *to, unsigned char *from , unsigned int length) {
	unsigned int count;
	
	for(count = 0; count < length; count++) {
		to[count] = from[count];
	}
}

int main() {    	
	unsigned int uiFlash_Size;

	MCU_Initialise(MCU_CLK_DIV_NONE);
	WATCHDOG_Enable(WD_5_6s);

	LCD_Initialise(16);
	
	Buff1[0] = 0;
	Buff2[0] = 0;
	Buff3[0] = 0;
	Buff4[0] = 0;
	Buff5[0] = 0;

	FLASH_Initialise();

	printstring("Flash memory infos:");
	sprintByte(Vendor_ID + 13, FLASH_ManufacturerID);
	printstring(Vendor_ID);
	sprintByte(Device_ID + 13, FLASH_DeviceID);
	printstring(Device_ID);
	sprintByte(Page_Size + 13, FLASH_PageSize);
	printstring(Page_Size);
	
	switch (FLASH_DeviceID) {	
		case FLASH_TYPE_32Mbyte:
			uiFlash_Size = 32;
			break;
		case FLASH_TYPE_64Mbyte:
			uiFlash_Size = 64;
			break;
		case FLASH_TYPE_128Mbyte:
		case FLASH_TYPE_128Mbyte2:
			uiFlash_Size = 128;
			break;
		case FLASH_TYPE_256Mbyte:
		case FLASH_TYPE_256Mbyte2:
			uiFlash_Size = 256;
			break;
		case FLASH_TYPE_512Mbyte:
			uiFlash_Size = 512;
			break;
		case FLASH_TYPE_1024Mbyte:
			uiFlash_Size = 1024;
			break;
		case FLASH_TYPE_2048Mbyte:
			uiFlash_Size = 2048;
			break;
		default:
			uiFlash_Size = 0;
			break;
	}

	if(uiFlash_Size) {
		sprintWord(Flash_Size + 14, uiFlash_Size);
		printstring(Flash_Size);
   	}

	while(1) {
		WATCHDOG_Reset();
	}

	return(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -