学习单片机,最好还是先从学汇编语言开始,那样能更好地理解计算机。
然后,再用C语言做开发。那样进度会快很多。
不一定的。C语言也同样着重于对特殊寄存器的理解,相反,C编起来更加的有模块化,缩短了开发周期,且易于维修。
当然了,汇编也有它自身的优势,尤其是在时间控制方面。
当然,如果时间充裕并想深入研究的话,个人觉得,汇编是必须的。
多学一样东西肯定是好的。但假如规定只能学一样的话。按照现在的形势的话,C会比汇编好。现在讲究速度,效率,可移植性。而现在的硬件,芯片,资源又足够大。。。不像是以前的51那个年代了,128byte的 sram。
个人认为让一个新手直接学汇编有点不可能,从C开始台阶会小很多很多,个人学AVR单片机调试了基本所有的外设,但还是不会汇编,直到现在学习ARM,才看了几十条ARM指令集的汇编指令。。。
汇编挺重要的,我们老师经常强调,对初学者可以很好地理解一些底层的东西和思想。但个人的经验觉得,底层的东西和思想是要学,但要编汇编程序的话对于初学都很是吃力呀,建议先看懂单片机原理以及汇编程序的结构编程思想等,然后就直接用C语言写吧,汇编看得懂就基本可以了。 现在我们学ARM也是,汇编只应用于最底层那一部分的开发,其他的都是用C语言开发的,老师也只要求我们看得懂汇编就行了(致起码在学习这个阶段是这样了)~
我当时都是边学汇编单片机同时自学单片机的C编程,呵,这样感觉二不误,效率比较高~~
呵呵,大家多多讨论, 目前对于MCU,C的性价比更高,更易学,更通用。
不过C 和不ASM 都只是编程的语言,也即是编程思想实现的工具而已,关键在于我们的思想,语言有很多。
学习~~现在正在学习单片机~~学了一年C~~还没学汇编
单片机属于较简单的控制芯片,体系也比较简单,没什么不好理解的。 直接上C就行,汇编太浪费时间了。
我感觉其实 学单片机 直接从 代码开始就行,搞个比较有代表性的程序来学习下,等你弄懂了,就什么都懂了。
我觉得难的 反而是 外部电路,硬件电路那块 ,有时候一点小问题 就是找不出来。
其实学了汇编的人能真正理解底层 或者MCU工作 的人也很少,也就是弄清楚编译器怎么工作了
同意楼主,我觉得学基本的片内硬件资源,用汇编比较好,容易接触到底层的寄存器,如果真的做项目,还是用c好,有条理,模块化,也容易读懂
看你自己的方向了。汇编对于一个决心从事硬件电路方面的人来说。绝对是好处大于劣处。C相对简单。可以说。C的模块化让你对底层硬件的工作状态了解不是太清晰。
两种语言各有优劣,根据实际情况选择吧,要结合实际情况!