首先用PCToLCD2002,生成中文字库,挑选一切文件,挑选GBK.bin
- #include”stm32f10x.h”//包含了STM32的寄存器和变量类型
- #include”stm32f10x_conf.h”//包含了库函数的.h
- #include”led.h”
- #include”key.h”
- #include”delay.h”
- #include”uart1.h”
- #include
//由于用到printf函数 - #include”spi2.h”
- #include”w25q64.h”
- #include”iic.h”
- #include”at24c02.h”
- #include”lcd.h”
- voidDelay(intt)
- {
- for(;t>0;t–);
- }
- intmain(void)
- {
- u8i=0;
- u32addr=0;
- u8data;
- //初始化延时函数
- delay_init(72);
- //初始化LED
- InitLED();
- //初始化KEY
- KEY_Init();
- //初始化USART1
- UART1_Init(115200);
- //1/1152000.0000087s*10=87us
- SPI2_Init(0,0);
- W25Q64_Init();
- IIC_Init();
- LCD_Init();
- //1、擦除扇区0块0扇区
- while(i<64)
- {
- W25Q64_SectorErase(0x000000+i*0X4096);
- i++;
- }
- //1s发1K20S
- //随意稍写一个….//
- printf(“EraseOK\r\n”);
- while(1)
- {
- //接纳数据
- while(!(USART1->SR&(1<<5)));//等候串口收到数据
- data=USART1->DR;//串口晒干便是8位
- W25Q64_ReceiveByte(addr,data);
- addr++;
- //26196*64?
- //这样就烧写完了代码…
- if(addr==261696)
- {
- printf(“CompleteOK\r\n”);
- while(1);
- }
- }
- }
//留意GBK,有261926个字节255KB,W25Q64有一个扇区4K,需求64个扇区,先擦除然后写入