12.10学习计划

竭尽全力做我力所能及的事  微笑对每一个人 微笑对待生活 阳光正好 恰已启程

1、学习计划

    (1)做完实验试要求的课题。用STM32编写按键输入加跑马灯的程序。要将这两种操作合在一起实现。需要按下一种key就可以实现一种跑马灯的运行方式,按下另一种key就可以实现另一种的跑马灯方式。
    (2)要写课程设计了啊,学生宿舍管理的。明早上要检查的哦~

2、计划完成度

   (1)程序按照规定完成了,通过了检查。
    上午在看按键输入的教学视频。掌握了按键输入需要用到的led.C,led.h文件(和上次跑马灯的额宏定义,以及初始化差不多,就大体看了看);新的知识key.c,以及key.h的操控原理,再就是按键输入的main.c文件了。
    GPIO口的输入读取,可以选择调用库函数、操作寄存器、或者是使用位带操作。
    按键扫描一般分为两种。一是支持连续按键的,二是不支持连续按键的。
    在写不支持连续按键的时候,可以用static函数,这个语句只被调用一次,可以保存语句执行完的返回值,以后语句的循环和它所返回的值有关。
    在这次试验中,我们把支持连续按键和不支持连续按键合二为一。就是在扫描的时候加了一个入口参数mode,mode为1的时候,执行支持连续按键;mode为0的时候就执行不支持连续按键的操作。
    我是先在程序源码的“按键输入”修改程序。把用不到的蜂鸣器的文件 全都删掉了,在main.c文件中修改,也是把蜂鸣器的头文件和初始化函数去掉了,然后修改了按键输入控制的语句。修改了build提出的错误,能在STM32的板子上正常运行。
    现在有一下两个问题还没有解决。1、我的按键输入之后,只能控制一次的跑马灯,不能实现循环。如果我在其中某一个按键中输入循环while,它就会一直在那一个按键下循环跳不出来。如果我再加入key_scan的话,也顶多只能增加一次,如果想让它一直循环下去,就得加无数个吗?
    2、我后来在桌面上新建了一个按键输入的工程。就是提取了实验需要用到的程序和外设。我的led.C,led.h,key.c,以及key.h和E盘的程序源码是完全相同的,程序调试设置的参数是完全一样的,也是用的同一块板子来实验,但是两个工程显示的频率不一样。新建的精简版的工程虽然也能实现一样的按键输入加跑马灯功能,但是频率相对慢了很多。 不知道问题在哪。
     当然在这次试验中,我也学到了其他的知识。比如写程序时候,程序框框那边的折叠按钮,可以通过
edit->outlining->show all outlining 开启这个功能
->hide all outlining 关闭这个功能
(2)今天的课设估计是写不完了,伤心ing~


你可能感兴趣的:(12.10学习计划)