当前位置: 首页 > news >正文

安康企业网站建设价格重庆快速网站建设平台

安康企业网站建设价格,重庆快速网站建设平台,现在个人网站怎么备案,企业网络营销策划案例今日尝试做一款有动图的OLED实时时钟#xff0c;本文需要现学一个OLED的GIF动图取模 其余需要的知识点有不会的可以去我 STM32 F103C8T6学习笔记 系列专栏自己查阅把#xff0c;闲话不多#xff0c;直接开肝~~~ 文章提供源码#xff0c;测试工程下载#xff0c;测试效…今日尝试做一款有动图的OLED实时时钟本文需要现学一个OLED的GIF动图取模 其余需要的知识点有不会的可以去我  STM32 F103C8T6学习笔记  系列专栏自己查阅把闲话不多直接开肝~~~ 文章提供源码测试工程下载测试效果图。 做个简易的时钟就不把RTC实时时钟放进来学了用定时器简单代替了~~ 目录 原图GIF 程序显示时间的问题 简单版定时器2时间计数 字符串给OLED打印函数 十进制数字转字符串 下载程序测试 GIF取模问题 程序贴出 测试效果图 工程下载 原图GIF 这里先提示一下工程会提供原图GIF原图像素64*64 程序显示时间的问题 首先解决一下程序显示时间的问题 简单版定时器2时间计数 这里初始化定时器2 是10ms周期然后定义变量在定时器2中断服务函数刷新1s使得SECOND秒加一 uint16_t YEAR,HOUR,MINUTE,SECOND; uint16_t TimeDisplay_cnt,TimeDisplay;//定时器2中断服务函数 void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){ if(TimeDisplay_cnt100){TimeDisplay_cnt0;SECOND;}TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清出中断寄存器标志位用于退出中断} }别忘了时分秒之间的逻辑 if(SECOND60){SECOND0;MINUTE;}if(MINUTE60){MINUTE0;HOUR;}if(HOUR12) {HOUR0;} 字符串给OLED打印函数 然后就是转化数字字符串给OLED打印的函数 //显示一个字符号串 void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size) {unsigned char j0;while (chr[j]!\0){ OLED_ShowChar(x,y,chr[j],Char_Size);x8;if(x120){x0;y2;}j;} } 十进制数字转字符串 主函数使用    sprintf(  );  函数   把十进制数字处理转化到字符串数组中 #include main.huint16_t YEAR,HOUR,MINUTE,SECOND; uint16_t TimeDisplay_cnt,TimeDisplay; uint16_t BMP_cnt,BMP_FLAG; char buf[10]; //用于存储oled数据int main(void) { init_ALL(); //初始化所有函数while(1){if(SECOND60){SECOND0;MINUTE;}if(MINUTE60){MINUTE0;HOUR;}if(HOUR12) {HOUR0;}sprintf(buf,%d,YEAR);OLED_ShowString(80,0,(u8 *)buf,16);sprintf(buf,%d-,HOUR);OLED_ShowString(70,3,(u8 *)buf,12);sprintf(buf,%d-,MINUTE);OLED_ShowString(7015,3,(u8 *)buf,12);sprintf(buf,%d,SECOND);OLED_ShowString(7038,3,(u8 *)buf,12);} }//初始化所有函数 void init_ALL(void) {SysTick_Init(72); //初始化滴答计时器Timer2_Init(); //初始化定时器2i2c_GPIO_Config(); //IIC初始化OLED_Init(); //初始化OLED屏幕OLED_Clear(); //清空屏幕数据YEAR2023;HOUR8;MINUTE22; }//定时器2中断服务函数 void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){ if(TimeDisplay_cnt100){TimeDisplay_cnt0;SECOND;}if(BMP_cnt10) //定时器 刷新太空人图片{BMP_cnt0;BMP_FLAG;if(BMP_FLAG8){BMP_FLAG0;}}TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清出中断寄存器标志位用于退出中断} }下载程序测试 GIF取模问题 动图本质是一帧一帧的图片因此我们先要将动图分解在逐个取模....这是个庞大的工程~~ 然后就是每个图片调整大小像素取模 程序贴出 #include main.huint16_t YEAR,HOUR,MINUTE,SECOND; uint16_t TimeDisplay_cnt,TimeDisplay; uint16_t BMP_cnt,BMP_FLAG; char buf[10]; //用于存储oled数据int main(void) { init_ALL(); //初始化所有函数while(1){if(SECOND60){SECOND0;MINUTE;}if(MINUTE60){MINUTE0;HOUR;}if(HOUR12) {HOUR0;}sprintf(buf,%d,YEAR);OLED_ShowString(80,0,(u8 *)buf,16);sprintf(buf,%02d-,HOUR);OLED_ShowString(65,3,(u8 *)buf,12);sprintf(buf,%02d-,MINUTE);OLED_ShowString(6524,3,(u8 *)buf,12);sprintf(buf,%02d,SECOND);OLED_ShowString(6545,3,(u8 *)buf,12);OLED_ShowChar(70,5,N,12);OLED_ShowChar(708,5,U,12); OLED_ShowChar(7016,5,L,12); OLED_ShowChar(7024,5,L,12); OLED_ShowCHinese(70,6,0);OLED_ShowCHinese(7016,6,1); OLED_ShowCHinese(7032,6,2);switch(BMP_FLAG){case 1:OLED_DrawBMP(0,0,64,8,BMP1); break;case 2:OLED_DrawBMP(0,0,64,8,BMP2); break;case 3:OLED_DrawBMP(0,0,64,8,BMP3); break;case 4:OLED_DrawBMP(0,0,64,8,BMP4); break;case 5:OLED_DrawBMP(0,0,64,8,BMP5); break;case 6:OLED_DrawBMP(0,0,64,8,BMP6); break;case 7:OLED_DrawBMP(0,0,64,8,BMP7); break;case 8:OLED_DrawBMP(0,0,64,8,BMP8); break;case 9:OLED_DrawBMP(0,0,64,8,BMP9); break;case 10:OLED_DrawBMP(0,0,64,8,BMP10); break;case 11:OLED_DrawBMP(0,0,64,8,BMP11); break;case 12:OLED_DrawBMP(0,0,64,8,BMP12); break;case 13:OLED_DrawBMP(0,0,64,8,BMP13); break;case 14:OLED_DrawBMP(0,0,64,8,BMP14); break;case 15:OLED_DrawBMP(0,0,64,8,BMP15); break;case 16:OLED_DrawBMP(0,0,64,8,BMP16); break;case 17:OLED_DrawBMP(0,0,64,8,BMP17); break;case 18:OLED_DrawBMP(0,0,64,8,BMP18); break;case 19:OLED_DrawBMP(0,0,64,8,BMP19); break;case 20:OLED_DrawBMP(0,0,64,8,BMP20); break; case 21:OLED_DrawBMP(0,0,64,8,BMP21); break;case 22:OLED_DrawBMP(0,0,64,8,BMP22); break;case 23:OLED_DrawBMP(0,0,64,8,BMP23); break;case 24:OLED_DrawBMP(0,0,64,8,BMP24); break;case 25:OLED_DrawBMP(0,0,64,8,BMP25); break;case 26:OLED_DrawBMP(0,0,64,8,BMP26); break;case 27:OLED_DrawBMP(0,0,64,8,BMP27); break;case 28:OLED_DrawBMP(0,0,64,8,BMP28); break;}} }//初始化所有函数 void init_ALL(void) {SysTick_Init(72); //初始化滴答计时器Timer2_Init(); //初始化定时器2i2c_GPIO_Config(); //IIC初始化OLED_Init(); //初始化OLED屏幕OLED_Clear(); //清空屏幕数据YEAR2023;HOUR8;MINUTE22;SECOND55; }//定时器2中断服务函数 void TIM2_IRQHandler(void) {if (TIM_GetITStatus(TIM2, TIM_IT_Update) SET){ if(TimeDisplay_cnt100){TimeDisplay_cnt0;SECOND; if(SECOND60){SECOND0;MINUTE;}}if(BMP_cnt10) //定时器 刷新太空人图片{BMP_cnt0;BMP_FLAG;if(BMP_FLAG29){BMP_FLAG1;}}TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清出中断寄存器标志位用于退出中断} }测试效果图 工程下载 https://download.csdn.net/download/qq_64257614/88232446?spm1001.2014.3001.5503
http://www.hkea.cn/news/14353892/

相关文章:

  • 网站设计收费模式综合网站设计
  • 网站建设胶州家园婚庆网站模板
  • 福利WordPress网站自动采集源码网页制作设计课设报告
  • 中国建设银行洛阳分行网站自媒体账号申请
  • 自设计网站有哪些网站建设公司上线
  • 博客网站做外贸可以吗中文域名 怎么做网站
  • 甘州区建设局网站广州市网络广告推广企业
  • 网络班级网站建设河南省村镇建设处网站
  • 注册网站会员 我们的信息烟台做网站建设电话
  • 佛山网站建设优化企业网站开发什么技术路线
  • 辽宁省建设工程信息网上不去国内正规seo网络推广
  • 网站建设培训证书如何建设电子商务网站
  • 网站中的图片必须用 做吗一个网站应该怎么做
  • 乡镇中心小学校园网站建设指南重庆九度设计
  • 怎样用自己的电脑 做网站任丘做网站
  • 建设网站价钱网页翻译网站
  • 广东省建设信息网网站软件开发自学入门教程
  • 如何看到网站的制作公司怎么制作钓鱼网站链接
  • 中山网站建设工作室网站维护很难吗
  • 为企业做一个网站多少钱网站做网站广告
  • 创联互动建设网站网站制作难不难
  • 网站建设费用多少wordpress后台样式修改
  • 网站设计不包括宿迁网站建设排名
  • 淮安建设企业网站html写的网页怎么在手机上看
  • 房地产行业网站建设报价方案企业官网招聘
  • 怎么给自己做个网站吗二级网站建设检查评比方案
  • 河池市住房和城乡建设局网站天津做宠物饲料的网站
  • 上海市网站seo公司房产网网站
  • 宁化网站建设互联网公司中国排名
  • 个人网站有什么外国广告做网站建设公司人员配备