高速电路PCB网,专注于嵌入式方案,信号完整性和电源完整性仿真分析,高速电路PCB设计,各种EDA工具(Cadence\Mentor\\AD\\CAM\ANSYS HFSS)交流学习。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
单片机编程
玩单片机的乐趣往往是实物带来的感觉。有人热衷于电路、有人热衷于编程,甚至有人只为了对这一领域的好奇心或者是求知欲~~~
这领域需要刨根问底的冲劲。
总所周知,我们每个开发人员不是神,只是平凡的人,既然是普通人,那我们接触新款的单片机该怎么办?不管其他人会怎么做,我首先在官网上了解这款芯片的功能以及相对于其他同一领域芯片的优势。往往单片机的同一系类里由于功能删减,片子会很多,我建议:选功能全的片子作为上手芯片,然后直接买现成的评估板或网上直接好的板子,来进行上手开发。
研究别人的成果其实是一件非常有趣的事情。虽然现在是网络化时代,但是正真的研发圈其实很小,为什么? 因为主流的芯片厂家无非那么几家,假如厂家不推芯片,对于出成品的公司来说,一般电路和软件的方案不会轻易的改动,甚至连开发的理念都不会改变(产品面向不同的行业,就有不同的要求,反之行业规范不会轻易改变,导致产品的研发理念、制作工艺不会改变),所以每当我们把别人的东西拿过来研究时会觉得很有趣,往往会接触到用在不同领域的产品,同常脑海里会出现这么几个问题“这电路什么功能、什么优势、还能用在其他哪些产品上~~~~”。往往我们在这个过程中进步。
编程一般用的是C,新手会在头文件上纠结,甚至会在一些特殊的代码行上纠结。其实编译器的编译、链接代码时存在编译器自己的风格,为了方便整个开发流程。在C语言上,编译器不仅仅只是识别标准C(C89、C99),会扩展一些。编译器的设定上,目前一般都不需要额外的设定了,换言之,都高级的一塌糊涂。不过有些程序猿会追求编程的极致,会查阅编译器自带的使用手册和C的使用手册。
软件编程的水平,我一般划分3个层次。第一层次:编写初始化代码。第二层次:使用中断或软件标志来控制程序的执行情况和效果,并且有独特的软件框架风格(适用于实际产品)。第三层次:做系统级的,其实就是在第二层次上改进,目的为了让代码方便移植及后续的改进。
这文章太难写了,我一般用IAR,对于IAR的编程技巧还是了解一点的,其他的IDE我都不了解,目前在研究移植FreeRTOS。 总之,编程无非是变量的定义使用、函数的定义使用、中断的定义使用、内存的分配、还有指针指向变量和指针指向函数、不让堆栈溢出……
该帖已经同步到电子微博网 Yannick的微博 |