#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) { } }