STM32F407_Discovery开发板中级例程基本上调试完毕,经过这一段时间的调试发现了许多问题,
主要问题如下:
1、USART在中断接收这里遇到了一个问题,就是只能接收一个十六进制,如果多了程序就会不执行了。
我的解决思路<1>检查硬件是不是有故障,<2>看是否从死在中断中,<3>检查程序执行到了那里
2、RTC时钟这个遇到的问题比较多,1->一开始没有认真阅读数据手册(最要是英文数据手册看不懂<英语水平太垃圾了>)2->没有对比f1跟f4的区别,一直就按照f1的思路进行了,进行了好长时间才认识到F4跟F1的配置有很大的的区别,又反过来学习F4,浪费了很长时间。3->不明白写入时间和读出时间,我想用RTC制作一个万年历,所以需要一秒秒的时间的读(具体操作不明白)。
3、LIS302DL(重力感应)这里遇到的总体比较笼统,具体思路有了,程序的大体框架已完成,具体就一些小的问题。
综上,我的问题重要是:1.C语言不好,基础不扎实。2.代码量不够。3.有时候遇到问题太心急,不能静下心来好好决解问题
收获:
1、中级例程主要就是基本的外设和通信总线(相对不难),对系统架构有了更深的理解,如外设->总线矩阵->内核 三者之间的联系。
2、对C语言的结构体和指针有了更好的应用,但是指针还是不行。
根据自己的问题和收获,给自己的反思:
1、当把具体的例程有代码实现的时候,必须脱离程序把它抽象出来,上升一个高度,那样会加深自己对程序和硬件的理解和印象。
2、当遇到问题静下心来,慢慢解决。只要付出时间问题肯定是能解决,没有解决不了的问题。
3、及时的总结。
4、增加自己的代码量。
下面要进行的是高级例程主要包括SD卡、LCD、以太网、摄像头。