#include "led.h"
#include "delay.h"
#include "sys.h"
#include "stm32f10x.h"
#include "adc.h"
#include "stdio.h"
#include "key.h"
#include "usart.h"
#include "stdio.h"
#include "oled.h"
#include "string.h"
#include "w25qxx.h" 
#define IRQ_Sta PBin(7)


#define  EN_INTERRUPT  __enable_irq();
#define  DI_INTERRUPT  __disable_irq();


 
void TIM4_IRQHandler() //20ms 1��
{					  
	static  u8 st;
	st=TIM_GetFlagStatus(TIM4, TIM_IT_Update);
	if(st!=0)
	{  
		TIM_ClearFlag(TIM4, TIM_IT_Update);

	}

}
 
void Timer4_init()	//T4 20msʱ��
{	
//
			TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
				NVIC_InitTypeDef NVIC_InitStructure; 
				
			RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM4,ENABLE);//M

			TIM_TimeBaseStructure.TIM_Period = 20000-1; //��������     //20ms
			TIM_TimeBaseStructure.TIM_Prescaler =72-1;//��Ƶֵ   	    
			TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; 	//�ָ�ʱ��			
			TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //���ϼ���
			 TIM_DeInit(TIM4);
			TIM_TimeBaseInit(TIM4, & TIM_TimeBaseStructure); 
			TIM_Cmd(TIM4, ENABLE); 	 //ʹ�ܶ�ʱ��2

			 /*���¶�ʱ��4�жϳ�ʼ��*/
			TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE); //���ϼ�����������ж�

					NVIC_InitStructure.NVIC_IRQChannel =TIM4_IRQn;// TIM4_IRQChannel; 
					NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; 
					NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; 
					NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
					NVIC_Init (&NVIC_InitStructure); 
}




char showBuff[16];

int main(void)
{	 
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//�����ж����ȼ�����Ϊ��2��2λ��ռ���ȼ���2λ��Ӧ���ȼ�
	delay_init();	    	 //��ʱ������ʼ��	  
 	LED_Init();		  			//��ʼ����LED���ӵ�Ӳ���ӿ�
	uart_init(115200);//���ڳ�ʼ��
	uart3_init(115200);
	delay_ms(1000);//�ϵ���ʱһ�� 
  printf("init\r\n");
  OLED_Init();//Һ����ʼ��
	OLED_Clear();
	Timer4_init();
		W25QXX_Init();			//W25QXX��ʼ��
	while(W25QXX_ReadID()!=W25Q128)								//��ⲻ��W25Q128
	{
    delay_ms(50);
		LED1=!LED1;//DS0��˸
	}
	

	
 Show_Str_Fury(0,0,200,12,(u8 *)"���Ϲ�ҵְҵ����ѧԺ",12);
  Show_Str_Fury(0,15,100,12,(u8 *)"����sadlfjasf",12);
	Show_Str_Fury(0,30,100,12,(u8 *)"sadlfjasfjlak",12);
	//OLED_ShowString1(4,4,"1234",16);
	OLED_Refresh_Gram1();
	delay_ms(1500);
	//OLED_ShowString(0,4,(u8*)"send:",16);//Һ����ʾ
	 OLED_QRcode_Display("qr_test��Ƭ�����ɶ�ά��123456",2,0);
   //OLED_QRcode_Display("https://jq.qq.com/?_wv=1027&k=BcGpo9TY",62,1);
	
//	OLED_QRcode_Display("wxp://f2f0UCwZO19yitEMuDpx-w2KWR2Dl_Glokq5sEAvvGclAp1bq-ty1bVHi6hd3h1qK-0M",0,0);
//	oled_printf(81,0,"oled"); 
//	oled_printf(81,2,"1234"); 
	
 	while(1)
	{	 	


  }
	
}