选课类别:核心通识 | 教学类型:理论实验课 |
课程类别:一般通识 | 开课单位:信息科学技术学院 |
课程层次:自由选修 | 学分:2.0 |
看没人评价,给个基准分
前面理论课比较水 玩玩就过去了 没必要细听 都是关于stm32单片机相对底层的内容 感觉记了也对后面实验没什么帮助
大概第八周开始上实验课一直上到期末考前 每次课都要完成教程上的一个简单实验 有的时候甚至没有额外任务,只要烧录跑通就好
然后大作业就是根据前面课程内容综合自定题目写一个程序烧出来 录制功能视频和写个实验报告交给老师就行
题外话:开始的时候觉得在高新区就选了门两学分的水课玩玩
结果后面实验课由于高新区没有板子 每周都得跑一趟本部电四楼
然后就把上课的周三定为每周在本部那边大吃大喝的快活日了)
如果不想在两个校区之间来回跑的高新区人慎选。
和@Yiran一起选的这门课,当时想的是我们都是计科大三的学生,也做过FPGA,而且有数字电路实验,计算机组成原理实验的基础,应该学这些都是小菜一碟。但是实际情况稍微有些不同,比如这个基于ARM架构的STM32F407的开发是在一块集成好外围设备和功能插件的普中麒麟/天马开发板上进行的库函数编程,因此并没有我想的那么底层。
这学期战线拉的比较长,实际占用周数达到了二十周,而不是教务系统上显示的11周结课。主要是前半部分理论的铺垫时间太长,几乎是从计算机组成原理到操作系统再到嵌入式开发整个地回顾了六七周才开始做实验,但是尴尬的是这部分理论知识属于懂的自然懂,不懂的听了也不懂,而且在后续实验过程中并没有显著地对理解实验步骤产生什么帮助。因为stm32各种功能组件元件在底层的实现逻辑,以及对上层的封装调用方法感觉上很割裂,而且知识点细碎无比,每节课我都看手册看得直发晕,真佩服那些工程师脑洞这么大,怎么实现这么复杂的外围的API和各种寄存器引脚的功能接口。
代码是库函数版本的,应该说虽然有一定封装,但是不多。上课主要用一个开发手册以及一个开发板原理图,还有几十个实验例程的项目工程集合,然后每一节课大概就是介绍开发手册里一章的内容,然后对应地去找实验例程,改一改代码逻辑去完成课后作业。
所以实质上,这门课学生能做的也就是在原始无比的KEIL5编辑器里打开实验例程,然后照猫画虎地改一改C代码来不停上板调试到功能符合要求。
最后有一个大作业,大部分人应该都是用板子完成一个游戏,在那块TLCD屏上显示。我用实验例程的俄罗斯方块改了改(其实是大改)做成了一个用MPU6050获取重力加速度的桌面磕弹弹游戏。