本帖最后由 巍巍城 于 2014-3-11 21:19 编辑
如何做飞思卡尔比赛 时间过的真快,现在已经是第九届比赛了,感觉自己参加第七届比赛时的情景还在眼前。经过这次比赛我确实学到了很多东西,又通过了一年的工作,感触颇深,今天写了这篇文章,主要是通过一年的工作,谈谈为什么做飞思卡尔比赛,从飞思卡尔比赛中我们应该学到什么东西,希望对学弟学妹能起到借鉴的作用。 大学生和高中的区别是什么,一个合格的大学生应该具备的素质是什么,在这里我谈谈我个人的看法。大学比高中有了更多的时间,在这更多的时间里该做什么,有些人说是学习,说的不错,但是也不能说完全的真确,我认为首先你应该接触不同的事物,弄明白自己到底喜欢什么,到底自己擅长什么,然后给自己定一个长远的目标,在实现目标的过程中最重要的是你应该总结出一套适合自己的学习新东西的方法——也就是你的学习能力,然后就是学到你应该学的知识,这样你的大学便能够过的充实而又轻松,不至于什么都没学到,也不至于使自己过的太累。 通过上面的话,你应该想到自己为什么做飞思卡尔了吧,不要抱着拿个奖好找工作的态度去做了,可以明确的告诉你,即使你拿到大奖,而不用心去做,最终你什么都得不到,反而使自己很累。 飞思卡尔比赛可以说是很好的比赛,其中含有的技术水平,应该说是相当的高,也许你很吃惊,但是确实如此,当你出来工作的时候,你可能就有这种感觉了。 你的兴趣所在,你努力了,我相信你定能够有很大的收获。首先你面对新的事物,你学会了如何去理解,如何去得到你想要的信息,如何学会你不懂得信息,如何应用这些信息。在软件方面,首先你至少掌握了做为一名固件工程师(单片机软件开发)所具备的C语言知识,可以这样说你能够精通C语言。在硬件方面你能够学会电阻,电容,二极管,三极管,MOS管,PCB的基本绘制,可以这样说如果你把这些弄的很明白,你到一家中型企业做硬件工程师,你可以得心应手。 总结一下,从报名飞思卡尔比赛到比赛结束,你应该做到的是兴趣驱动你,明白自己擅长什么,找到目标,总结出自己的学习方法,学会你该学的东西。这样你的比赛目的就达到了,相信你也会取得不错的成绩。 在飞思卡尔智能车的硬件设计中,应该学会如何运用课堂上讲的电路,模电,数电从理论上设计电路,再根据器件的手册进行器件的选型,到实践中对电路参数的调整,这时你可能会发现理论和实践的不符,如果理论对了,难到实践有问题,这是因为每个器件的杂散参数的影响,这时你就要根据理论和数据手册去影响的原因,如果你经历了这一步,说明你真的成长了。下面列出了在电路设计中常到的器件,也是你必须掌握的知识。 电阻的种类 参数 设计电路时的注意事项。 电容的种类 参数 在电路设计中的应用以及注意事项。 二极管的特性曲线 参数 在设计电路中的应用以及注意事项。 三极管的特性曲线 参数 在电路设计中的应用以及注意事项。 MOS管的特性曲线 参数 在电路设计中的应用以及注意事项。 电感的特性曲线 参数 在电路设计中的应用以及注意事项。 下面我讲一下软件方面,在写程序的时候,你应该对数据芯片手册中的寄存器以及名词术语的概念有清晰的理解,并对汇编有了一定的理解。C语言是你该重点学习的。你应该学会,并应该精通的知识点,我相信如果你学会这些,去找软件相关的工作,不成问题。 不管你是找工作还是读研,希望通过这个比赛能清晰的分辨出你兴趣在哪里,你擅长什么,你的目标是什么,总结出你自己的学习方法,只有这样你的路才会越走越宽,才会得到快乐。可以加QQ群进行交流,276409066 C语言知识点 编号 |
名称
|
描述
|
级别
|
1
|
变量
|
变量的类型,定义,初始化,赋值
|
|
2
|
标示符
|
掌握5条命名规则
|
|
3
|
输入输出函数
|
Printf scanf的用法
|
|
4
|
C语言的基本数据类型
|
字符型,整形(短整形,基本整形,长整形),浮点数(单精度,双精度,扩展双精度)。
|
|
5
|
进制转换
|
掌握十进制和十六进制,十六进制和二进制,八进制和二进制之间的转换。
|
|
6
|
运算符
|
掌握各个运算符的使用,注意优先级。
|
|
7
|
条件语句if
|
掌握if语句的执行流程,注意else if和else的出现次数
|
|
8
|
分之语句switch
|
掌握switch的特性,注意break和switch搭配使用
|
|
9
|
循环语句for
|
掌握for语句的执行流程,注意循环次数的控制
|
|
10
|
Break和continue
|
掌握关键字的使用,注意这两个关键字的区别
|
|
11
|
语句do-while
|
掌握do-while的流程,注意与while的区别
|
|
12
|
缓冲区
|
掌握缓冲区的特性,使用函数scanf的问题以及怎么样解决。输出缓冲区刷新到屏幕的条件
|
|
13
|
一维数组
|
掌握数组的定义,初始化,赋值,数组下标,以及使用for循环遍历数组
|
|
14
|
二维数组
|
掌握二维数组的定义,初始化以及使用双层for循环遍历数组
|
|
15
|
函数定义
|
掌握函数定义的形式,注意函数的名后面的小括号
|
|
16
|
函数返回值
|
掌握函数返回值的类型(有个void),注意和return类型一致
|
|
17
|
函数参数
|
掌握参数的书写形式,理解实际参数和形式参数之间的传递关系
|
|
18
|
数组做参数
|
理解数组传递的是地址,注意形参数组长度问题
|
|
19
|
Const
|
掌握const修饰关键字的区别
|
|
20
|
递归算法
|
递归算法的执行流程以及弊端
|
|
21
|
变量类别
|
掌握全局变量,局部变量,块变量的作用域,生命周期,特别要注意静态全局变量的生命周期,理解局部优先原则
|
|
22
|
C程序分段
|
理解各个段作用,特性,掌握堆栈特性,理解堆内存的管理
|
|
23
|
修饰变量的关键字
|
掌握各个关键字的含义,以及修饰变量后,变量的新特性
|
|
24
|
指针
|
掌握指针的定义,初始化,赋值,以及指针作为函数的返回值和参数
|
|
25
|
指针和数组
|
掌握指针访问数组的形式(整形数组,字符型数组),区别数组名和普通指针的区别
|
|
26
|
主函数main的命令行参数
|
掌握两个参数的含义,熟练使用每一个参数
|
|
27
|
预处理include
|
注意<>和””的区别
|
|
28
|
Define
|
掌握define的处理机制以及缺点,和inline(c++里面的关键字)的区别
|
|
29
|
条件编译
|
掌握各个条件编译的命令,理解条件编译使用的场合。注意在头文件中怎么样使用条件编译来防止重复的引用。
|
|
30
|
关键字static
|
掌握static修饰局部变量,全局变量,和函数所产生的变化
|
|
31
|
结构体
|
掌握结构体类型的定义,结构体变量的定义,初始化,成员的访问和赋值。掌握typedef关键字的使用,结构体指针作为函数参数,返回值的使用方法,以及结构体指针访问成员的运算符。理解对补齐和位段。
|
|
32
|
联合
|
掌握联合的基本语句,理解公用内存的概念
|
|
33
|
枚举
|
掌握枚举的基本语法,理解枚举的本质。
|
|
34
|
动态内存
|
掌握C语言中用于动态内存管理的四个函数,理解动态内存的特性。
|
|
35
|
空指针和悬空指针
|
掌握基本语法,注意区别空指针和悬空指针。
|
|
36
|
二级指针
|
掌握二级指针的基本语法,充分理解二级指针和一级指针,一级指针和普通变量之间的关系
|
|
37
|
函数指针
|
掌握函数指针的基本语法,理解函数指针使用的场合
|
|
38
|
指针数组和数组指针
|
掌握基本语法,理解两者之间的区别,注意数组指针自增或自减的步进
|
|
39
|
文件操作
|
掌握C语言中用于文件操作的各个函数,理解文件指针,文件位置指针的作用。熟练操作文件
|
|
40
|
标准库
|
理解各个头文件的作用,包含的函数
|
|
41
|
可变长参数
|
掌握定义可变长参数的函数形式,以及访问每个参数的方法,四个宏的使用
|
|
42
|
引用(c++)
|
掌握引用的实质以及引用和指针的区别
|
|
|