C语言是程序设计的基石,也是程序员入行的敲门砖。市面上的编程语言五花八门:C语言、C++、JAVA…但是我要说,工程师朋友们掌握的编程语言不在于种类多,而在于精雕细琢、深入领会,抓住编程语言的精髓,就能达到”万变不离其宗“的境界。
不管是工作多年的编程大牛,还是刚参加工作的菜鸟,在程序设计中一定遇到过或者将会遇到两大困惑:如何提高MCU程序执行效率?如何增强代码的可维护性和复用性?作为多年的“程序员老鸟”,骆驼深刻理解工程师们的“痛苦”,因此录制了本系列课程,以“LED流水灯程序设计”为引线,逐步进行扩展,详细介绍“程序=函数+数据结构”设计方法,手把手带工程师门学习C语言编程。
讲师介绍:
骆驼,从事过多种职业,在而立之年停留在工程师的职业上。逝者如斯,不舍昼夜,弹指间十年已过。即使资质平庸,只要专注一隅,总会有所收获。我非常高兴与朋友、同事分享编程心得。我们花费数年沉淀,豁然开朗的感悟只是印证了前辈先贤总结的普遍真理,实在令人感慨万千。真理之所以是真理,其实在于我们领悟。没有领悟之前只是书中的一行字。领悟之后才能成为解决问题的方法。遇见真理容易,认识真理难。
作者寄语:
网络发展为媒体传播提供了非常便捷的途径,奇文共欣赏,疑义相与析。我非常高兴能在网络分享我对编程浅薄见解,让我们共同进步。
课程优势:
-
易行:基础代码非常简单,稍微了解C语言编程即可共同学习。
-
扩展:以最简单的流水灯实现为基础,逐步扩展介绍定时器在过程程序设计中的主要应用。指针、结构体、状态机等C语言知识点应用。逐步设计出可维护性、复用性强、效率高的代码。
-
锻炼意识:程序设计对专业程序员来说是一种意识行为。视频录制过程也是代码编写过程,和大家一起探讨过程也是我将的思路介绍给大家的过程,希望大家一起锻炼编程思路,培养正确的编程意识。
涉及的应用领域:
C语言单片机编程
学习效果:
理解、掌握C语言“程序=数据+函数”设计方法,培养工程师的程序设计思路,养成正确、合理的编程习惯
学习本课需要什么背景,需要提前预习掌握的知识技能?
-
了解C语言
-
了解LED简单使用
-
了解定时器
-
了解MCU程序设计
课程面向对象:
计算机相关专业的在校学习学生、工作初期的电子工程师
课程目录:
01课程总体介绍
-
学习目标介绍、学习对象、预备知识、使用硬件介绍
02课程总体介绍
-
IO介绍;
-
一切系统都是输入、处理、输出的介绍;
-
以简单风机控制系统介绍输入、处理、输出的原理;
-
LED介绍;
03流水灯初步实现
-
单个LED控制;
-
使用for 循环语句产生延迟,实现流水灯
04变量自增实现流水灯
-
使用for 循环语句产生延迟,实现流水灯程序缺点;
-
使用变量自增实现流水灯;
05流水灯初步实现
-
使用变量自增实现流水灯程序缺点;
-
定时器引用实现流水灯程序;
06音乐盒流水灯初步实现
-
以音乐盒为例,程序与数据紧密结合流水灯程序设计。修改流水过程,必须修改函数和数据。
07CD机流水灯初步实现
-
以CD机为例,程序与数据分离流水灯程序设计。程序设计更加灵活方便,修改流水过程,只需修改数据。
08使用LED输出字符编码
09使用LED输出摩斯码
-
一颗LED输出SOS。
-
一颗LED输出任意摩斯码信息。
-
数据与播放器完全分离,实现输出任意摩斯码信息。
10同时输出更多信息
-
使用多个LED同时输出多个摩斯码。使用标准播放器,分时输出多条信息。
-
使用户将注意精力用于数据编码设计,不在关心播放器。充分体现“程序=数据+函数”设计方法。
工具软件:
Keil uVision5、j-linkV9、一款有LED的STM32F103电路板
常见问题如下:
Q1:零基础可以学习这个课程么?
A:零基础当然不行,至少应该接触过C语言,至少在任何一款单片机上编写调试过100行代码,这个非常容易做到。
Q2:本课程是一个什么样的课程?
A: 培养单片机编程意识,锻炼正确的编程思路。
Q3:学习本课程的软件版本要求?
A: WindowXP以上操作系统,Keil uVision5
Q4:课程是否有资料素材提供?
A:幻灯片可以分享,代码因为非常简单,如果有兴趣可以跟随视频同步动手编写,在学习初期编写代码是学习不可或缺的重要步骤,我恳切要求大家多多动手,所以暂时不提供。
Q5:本课程总共学习时间?
A:每次15~40分钟,估计应该200以上分钟,这个实在不容易估计。因为虽然我认真编写了课件、脚本,但是在录制过程中我总会临时改变,10次是最保守的估计。