微信搜索:ReCclay,即可免费阅读博主蓝桥系列所有文章,后台回复“代码”即可获取蓝桥所有备赛代码!关注博主公众号,还可拥有加入博主粉丝群实时沟通技术难题、免费下载CSDN资源等多项福利,还在等什么呢?快快扫码关注,学习才不会迷路。
这里再向各位同学推荐一个CSDN博主 ReRrain 的蓝桥备赛博客,博主秉持初学者思路,向你讲述自己蓝桥备赛的心路历程,娓娓道来蓝桥备赛经验,个人觉得非常不错,值得细细品读。
导读:《蓝桥杯嵌入式组》专栏文章是博主2019年参加蓝桥杯的嵌入式组比赛所做的学习笔记,在当年的比赛中,由于忙于准备考研及保研相关工作,博主仅仅参加了当年的省赛,并获得了省赛一等奖的成绩。成绩虽谈不上最好,但至少问心无愧。如今2021年回头再看该系列文章,仍然感触颇多。为了能更好地帮助到单片机初学者,今年特地抽出时间对当年的文章逻辑和结构进行重构,以达到初学者快速上手的目的。需要指出的是,由于本人水平有限,如有错误还请读者指出,非常感谢。那么,接下来让我们一起开始愉快的学习吧。
“一叶遮目,不见泰山”。不论何事,只有把握事情的总体趋势,才能做到心中有数。
由于代码过长,这里就不再贴出代码了,只是记录下自己在做这个题遇到的问题吧。
1、关于小灯
又探索出了新的操作方法
//LED
u16 LED_MODE = 0XFFFF;
...
LED_MODE |= (1<<9);
GPIOC-> ODR = LED_MODE;
GPIOD-> ODR |= (1<<2);
GPIOD-> ODR &=~(1<<2);
2、多个界面的操作
比如这个题中,有多个界面且每个界面也有不同的参数,显示对应的参数和处理对应的参数,如果变量使用同一个容易发生意想不到的错误。
最好显示用原值,处理再来一个缓冲区变量。
3、高亮某一行的方法
就是夹在中间上下分别设置,注意其后要紧跟着LCD_DisplayStringLine
。
if(SelIndex == 0)
LCD_SetTextColor(Green);
else
LCD_SetTextColor(White);
LCD_DisplayStringLine(...)
4、使用E2PROM
使用自带的I2C底层,进行连续读和写,要注意适当的延时,这里就取5ms了
5、串口
①、最后加个回车换行(\r\n
)会更好
sprintf((char *)UART_Str, " Temp:%d, Humi:%d Time:%2d:%2d:%2d\r\n", TempThre,HumiThre,HH,MM,SS);
②、操作完一帧数据别忘了再次开启接收中断和清空缓冲区
//别忘了这两个
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//接收的数据处理完毕后打开接收中断
for(i=0; i<20; i++)//清空缓冲区
RxdBuf[i] = 0;
结语:以上就是本篇文章的全部内容啦,希望大家可以多多支持我的原创文章。如有错误,请及时指正,非常感谢。
微信搜索:ReCclay,即可免费阅读博主蓝桥系列所有文章,后台回复“代码”即可获取蓝桥所有备赛代码!关注博主公众号,还可拥有加入博主粉丝群实时沟通技术难题、免费下载CSDN资源等多项福利,还在等什么呢?快快扫码关注,学习才不会迷路。