㈠ 单片机如何选购及入门
1、价格要低
因为是学生,肯定没有太多经济基础,选择价格低的单片机是必须的,而且刚开始学习太贵的单片机功能太多,初学者无法很好掌握,价格低的单片机功能较少,更容易掌握。
2、外设尽量多
如果购买的是学习板,那么最好是选择外设多的学习板,因为单一去买外设价格会更贵,而且整合度不高,最好是直接选择外设多的学习板,这样可以一次性学习所有的模块功能,当然价格会有所增长,只要控制在200元之内就好了。
3、操作尽量简便
在购买学习板之前,最好是问好老板这个学习板的调试和下载程序是否方便,是否配有教程,是否每个外设都有文档,是否有中文翻译。
开发板坏了是否可以退换等,如果具备上面几点,那么就可以入手了。
㈡ 单片机学到什么样子才算是高手了
1,精通C和汇编,缺一不可
2,精通常用算法,如PID调节、CRC、各种数学函数在单片机中灵活实现以及应用
3,精通两个以上不同系列MCU的软硬件
4,精通各种串行数据接口的软硬规范
5,精通各种大功率驱动任务的实现
6,精通各种单片机开发会涉及到的软件
7,熟悉上述涉及到的以及可能涉及到的器件、模块
8,熟悉所有在开发任务中可能设计到的机械、化学、材料等基础知识
9,拥有110以上的智商
10,永远觉得还有很多东西需要去学习
11,严谨的设计理念,善于统筹协调成本与性能的关系
12,较强的知识产权意识,尊重自己以及他人
都以为单片机简单是吧?就那么一个小小的电子芯片,但它涉及的东西太多太多。。。。。。
哥玩的不是单片机,是寂寞~~~
㈢ 怎样提升自己单片机C语言编程能力啊求高手指点迷津!我硬件也懂一点 但我想朝编程方面发展 跪求高手指教
到楼主描述的这种程度,比较实际的只有两种方法:一是实践,实际做一个较大的项目,二是多看看网上的一些好的范例,哪怕是你做过的项目,重点不是看其所实现的功能,而是看其源程序的特点和结构!个别的可以关注一下算法。还有一种方法,学一些软件专业的必修基础课,了解软件编程的思维模式,这可能要搭些功夫,而且影响是潜移默化的,如果不是搞纯软件的话,个人观点可以不学。
C语言编程能力并不完全体现在代码的编写效率和执行效率高。注意:是不完全,这方面的提升与个人的逻辑思维能力和其它知识水平有关。举个例子:假如让你编制一个函数实现求arctan反三角函数的值,你会怎么做?如果你不知道采用级数展开的方法就无从下手。其实这考验的是你的数学水平。所以这方面的提高是综合性的,无法具体而谈。
可以提升的我认为体现在如下几个方面,这几方面做好了,同样也可以说具备相当的编程能力了。
1、软件版本管理:任何软件,每次修改发布后必须更新软件版本号,这点工作后尤其关键,我见过这方面不认真的,别多了,3、4个版本后就焦头烂额。
2、源程序中多些注释:比如函数的功能描述、入口参数说明、返回值说明、调用的要求、完成日期等。另外,关键算法的说明也应该注释。常言道:好记忆不如烂笔头,不能太过相信自己的智商。
3、工程化管理源程序:比如对一些常数、接口地址、数据类型定义(typedef)、数据结构定义、自定义的函数声明等,应写入单独建立.H文件,然后在其它.C文件中包含。.C文件,如果软件大的话也尽量的按照功能分别建立,然后在工程中包含。
4、有时,一个软件会针对不同型号的设备,此时应采用#ifdef等编译控制语句加以区分;而且,为方便调试,有时需要对一些状态或变量赋与初值,而正式版本中不能要,也可以采用这种方法,便于管理,不易出错。这部分内容应放在前面所说的.H文件中。
5、尽量多使用函数,这样模块化强,也能通过函数名看出函数功能,易于代码阅读。最简单的例子就是初学者常用的Delay()。不过也别太过了,A=B+C就没必要了。
6、对一些常数、地址,最好使用#define通过英文字符来代替,将其放在.H文件中,这样万一有变化,只需改一处即可,方便,又不会遗漏。比如定时器重装值:
#define C_TH0_50MS (65536-50000)/256
如果需要改晶振,只需改此处即可。
以上注重的是整个软件方面,下面说一些具体需要注意的,不成系统,也没整理过,想到那说到哪吧。基本上是些规范,规范同样代表着水平:
1、多分枝逻辑判断类语句:应养成将所有判断情况都写出来、不用的注掉的习惯,这类语句包括if、switch,举例
if(i==4)
{....}
//else if i>4
//else i<4
其中else的两部份不用,那也写出来,注掉。这样帮助你保证程序的严密型,也有助于问题排查
2、常数、变量、函数、端口等的命名:(不要出现全局变量名与局部变量名相同的情况,虽然在C里允许这样做)我个人采用如下规则
全局变量:类型+具有实际意义的词组或拼音,其中词组或拼音中每个字首字母应大写。
例如: iSecondCount:一个int类型的秒计数变量
局部变量:全小写字符,循环计数变量可以采用诸如i、j、k、n之类的无意义字符。最好不用
a、b、c之类的16进制数所使用的字符。
端口:全大写,并使用具有实际意义的词组或拼音,使用_作为分割符。如KEY_COM
常数:前面加“C_”,后面每个单词之间最好也加“_”,如上例中的C_TH0_50MS
函数:类似于全局变量,只是前面不加类型说明符。如Timer0、Delay、DelayMs。
3、源程序中的注释符尽量不使用/* */,而使用//,这样如果要临时注掉大块程序时,使用一次/* */就可以了,否则可能需要修改多处,麻烦。
4、格式上,注意缩进,尤其是多级判断。而且执行体既便只有一句,有些地方也尽量不要忽略大括号,举例:
if(a>4)
{
a++;
}
else
{
a=0;
}
5、..............还有很多,一下想不起来。你可以自己体会,自己制定。
能力的体现方式有很多,比如说求职是否能如愿。看人看细节,如果编程时养成了上述的习惯,不管你的实际水平如何,都说明了你的处事态度,在大家的智商水平差不多的前提下,无论于公于私,如果我是老板的话会选择你,放心的把任务交给你去做。
你先试试吧,说起来容易,做起来难,我自己的规则,我的执行度也就达到70%水平吧。
㈣ 如何成为从事单片机开发工作的人
要求不要太高,先进一个公司,实际的开发一些产品,慢慢的就会有经验了。