183 lines
2.8 KiB
C
Raw Normal View History

2021-07-28 13:15:22 +08:00
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "LCD.h"
#include "Dis_Picture.h"
#include "Text.h"
#include "GBK_LibDrive.h"
#include "mpu.h"
#include "w25qxx.h"
#include "NORFLASH.h"
/**********************************************************************/
//W25Q64(QSPI<50><49><EFBFBD><EFBFBD>) <20><>дʵ<D0B4><CAB5>
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41><EFBFBD><E2BAAF><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/**********************************************************************/
//Ҫд<D2AA>뵽W25Q64<36><34><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const u8 TEXT_Buffer[24]={"W25Q64 Check: OK OK OK"};
u8 SIZE=24;
u32 FlashAddr=0; //<2F><><EFBFBD>Ե<EFBFBD>ַ<EFBFBD><D6B7>0
u8 datatemp[32];
u8 key;
u16 i=0;
int main(void)
{
Cache_Enable(); //<2F><><EFBFBD><EFBFBD>L1-Cache
HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C>
Stm32_Clock_Init(160,5,2,4); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,400Mhz
delay_init(400); //<2F><>ʱ<EFBFBD><CAB1>ʼ<EFBFBD><CABC>
uart_init(115200); //<2F><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
LED_Init(); //<2F><>ʼ<EFBFBD><CABC>LEDʱ<44><CAB1>
KEY_Init();
MPU_Memory_Protection(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش洢<D8B4><E6B4A2><EFBFBD><EFBFBD>
LCD_Init(); //<2F><>ʼ<EFBFBD><CABC>2.0<EFBFBD><EFBFBD> 240x320 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LCD<43><44>ʾ
GBK_Lib_Init(); //Ӳ<><D3B2>GBK<42>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC>--(<28><><EFBFBD><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
LCD_Clear(WHITE); //<2F><><EFBFBD><EFBFBD>
Draw_Font16B(16,16,RED, " STM32H7 W25Q64(QSPI) ");
Draw_Font16B(16,32,BLUE," Ƕ<><C7B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ");
Draw_Font16B(16,48,BLUE," mcudev.taobao.com");
Draw_Font16B(16,64,RED, " K1:Write K2:Read");
NORFLASH_Init(); //NORFLASH(W25Q64)<29><>ʼ<EFBFBD><CABC>
while(NORFLASH_ReadID()!=W25Q64) //<2F><><EFBFBD><EFBFBD><E2B2BB>W25Q64
{
Draw_Font16B(16,96,BLUE,"W25Q64 Check Failed!");
delay_ms(500);
Draw_Font16B(16,96,BLUE,"Please Check! ");
delay_ms(500);
LED2_Toggle; //LED2 <20><>˸
}
Draw_Font16B(16,96,BLUE,"W25Q64 Ready!");
while(1)
{
key=KEY_Scan(0);
if(key==KEY1_PRES)//KEY1<59><31><EFBFBD><EFBFBD><><D0B4>W25Q64
{
LCD_Fill(0,112,239,319,WHITE);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Draw_Font16B(16,112,BLUE,"Start Write W25Q64....");
NORFLASH_Write((u8*)TEXT_Buffer,FlashAddr,SIZE); //<2F><>0<EFBFBD><30><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ʼ<><D0B4>SIZE<5A><45><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>
Draw_Font16B(16,112,BLUE,"W25Q64 Write Finished!"); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if(key==KEY2_PRES)//KEY0<59><30><EFBFBD><EFBFBD>,<2C><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
{
Draw_Font16B(16,112,BLUE,"Start Read W25Q64.... ");
NORFLASH_Read(datatemp,FlashAddr,SIZE); //<2F><>0<EFBFBD><30><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ʼ,<2C><><EFBFBD><EFBFBD>SIZE<5A><45><EFBFBD>ֽ<EFBFBD>
Draw_Font16B(16,112,BLUE,"The Data Readed Is: "); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Draw_Font16B(16,128,RED,datatemp); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
}
i++;
delay_ms(10);
if(i==20)
{
LED2_Toggle; //LED2 <20><>˸
i=0;
}
}
}
/**********************************************************************/
//QSPI ʵ<><CAB5>
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41><EFBFBD><E2BAAF><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/**********************************************************************/