蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)

                                                         液晶驱动参考例程的使用

联系方式

作者:马一飞

QQ:791729359                                                                                                          在学习过程中有什么问题可以联系

(原本资料是以网盘的方式公开提供给任何蓝桥杯爱好者进行下载的,但是最近临近蓝桥杯考试,遇到了很多伸手党,我无偿给爱好者们解答学习上的问题,回复得比较慢居然还有同学来说我这样那样,所以决定不再随意提供自己写的源码和资料。博主已经开始参加工作了,也不是闲着没事干盯着电脑手机为你们服务。记住,不要成为伸手党,要自己多动手实现。)

 

 

        我们这一讲就来讲解一下在蓝桥杯嵌入式的比赛中,如何使用利用这个液晶程序参考例程。

        我们先打开这个嵌入式设计与开发项目加密资料这个文件夹。

        直到看到液晶驱动参考例程我们点开这个文件夹我们会看到以下文件。

        蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第1张图片我们每次编程的时候都把CT117E-LCD这个文件夹复制出来(例如复制到桌面)作为一个工程模板,要养成备份代码的习惯,哪怕你代码写错了,你还有上一次的备份可以使用。

        代码复制到桌面并打开文件夹,看到如下目录。蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第2张图片,也就是说,我们在进行蓝桥杯嵌入式比赛的时候,工程是不需要我们自己去创建的,我们可以使用一个比较取巧的办法,直接使用这个液晶驱动参考例程作为一个工程模板,因为stm32创建工程也是一个比较繁琐的过程,而我们的蓝桥杯是有限制时间的,也就是一个抢时间的比赛,我们可以用创建工程所花费的时间去做很多其他的事情。

        我们打开这个液晶驱动参考例程的工程,我们先电机上面像魔法棒的按键进入Debug选项配置一下colink。

蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第3张图片

        我们选择coocox Debugger选项后按setting选项进入(在配置之前要先安装Colink驱动,不然是检测不出colink的), colink驱动放在嵌入式设计与开发文件夹里的驱动及插件的文件夹,这部分在赛场上是会给的,但是在考场上用不到,毕竟赛场会帮你们提前配置好开发环境,但是在自己的电脑上练习的话就要自己安装驱动配置开发环境了。

        同时我们要把开发板接入到电脑。

蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第4张图片

        看到这个选项那么就代表你的colink是已经识别成功,可以直接下载程序了,一般在考场上都能识别成功。如果识别不成功,那么你的IDCODE 显示的是oxFFFFFFFF,不排除,有一些电脑识别不了colink的,你可以吧开发板JTAG接口的排针给焊上,利用那个JTAG接口使用STlink或者Jlink来下载程序,在真正比赛考场中再使用Colink,一般都不会出问题的。

        那么接下来我们就可以点击下载按钮按钮下载程序了,不需要借助类似stc-isp那样的软件来下载,比较方便。

        下载成功后我们就能看到开发板上的LCD显示屏显示这么一系列图像了。

蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第5张图片蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第6张图片

        到这步,就证明你的开发板是可以运行的,你的开发环境搭建也成功了。

        我们进入工程,打开main.c这个文件,我们就能看到这个液晶驱动参考例程的主函数了。实际上在主函数上,进行的功能就是,初始化滴答定时器时钟,初始化LCD显示屏,然后就进行一系列的LCD显示屏的测试(画线,画点,显示,颜色切换)。

        我们确定这个工程是可以使用的,我们就把主函数里面多余的成分去掉,只留下如下图的代码。

蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第7张图片

        那么我们以后对这个开发板编程,就可以使用这个工程模板来进行编程了,不需要我们手动再去创建一个工程。同时,这个工程里面还为我们提供了一个滴答定时器的MS延时函数。这个函数我们可以直接去利用,达到一个延时的效果。

        那么,竟然我说这个是一个使用滴答定时器而设计延时函数,那么它就有相应的中断,他的中断函数写在了User目录的stm32f10x_it.c文件里

        我们打开stm32f10x_it.c这个文件我们可以找到这个滴答定时器的中断函数。

蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的使用)_第8张图片很显然,我们能够看到,这个函数是每过1ms就进入一次,如果如果TimingDelay大于0时,TimingDelay减一,这个值也就是我们设置的延时多少时间的毫秒值。

        我们可以直接利用这个滴答定时器中断函数,把它看作为一个1ms的定时器去使用它。那么有的同学就会问了,我在这个中断函数里面添加代码,会不会导致延时不准呢?

答案是,会的,因此我们在这个滴答定时器中断函数里面不能写入太多代码,我们只用它来做定时的作用,里面只能加入一些标志位的变化,那么对这个定时器的精准度影响是很小的,几乎可以忽略不计,相当于1000us和1001us的区别,完全可以忽略这个影响。

        这样的使用的好处就是,我们不再需要另外开启一个定时器来做定时的作用啦,直接使用这个滴答定时器充当一个1ms定时器啦,可以省下你配置一个定时器的时间,这是非常方便的。

 

        以上就是这个液晶驱动参考例程需要知道的地方。

                                                                                                                                                         (以上仅属于个人观点)

你可能感兴趣的:(蓝桥杯)