当前位置:网站首页>要选择那种语言为单片机编写程序呢
要选择那种语言为单片机编写程序呢
2022-07-03 09:09:00 【枪哥玩转嵌入式】
当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,当年困扰了我好久。
具体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上书或者资料,自己却什么也不知道了,根本不用说自己写程序了。
于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似,编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲的全是C方面的,完全在浪费你的时间! 呵呵。
文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的,即使你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概 念还是比较模糊
第三,想学单片机的必需品--PC。因为写程序,编译或者是仿真都是通过PC完成的。如果没有PC,什么也做不了!!!有了PC最好还要可以上网,因为如果你没有可以和你交流单片机的人,遇到自己解决不了的问题,一直都想不通,那么估计你学习单片机的热情就会随着时间的推移而慢慢耗尽。如果你能上网通过论坛或者扣扣群,问题就很快得到解决。这样的学习效率一定很高!真正的高手是从论坛中泡出来的!
有了上述3个条件后,你就可以开始学你的单片机了。但是,真的做起来并没有我所说的那么简单。你一定会遇到很多很多的问题。比如为了让单片机实现某个功能,你可能不知道怎么去写某个程序。或是你看懂了资料上某个相似的程序,你自己却写不出来。遇到类似的情况, 记住:千万不要急噪,就行!
大概浏览了一些网友对于C语言的讨论,似乎大家都很热衷于讨论不同编程语言之间的优劣比较,讨论得高兴了完全把提问者放一边去了。有些小白现在的情况根本不是大家给他推荐个好用的语言就能解决的,他现在的情况是,C 语言刚起步没多久,还没遇到什么特别复杂的内容,就已经开始“每天对着对话框好枯燥”了。
学习什么东西不需要花苦功夫?计算机软件本身天生具有复杂性,换别的语言之后就可以轻松愉快不用花什么力气轻松成为高手了?不见得吧?从 C 语言开始入门没什么不好的,如果想走开发这条路的话,就咬紧牙关好好学。如果刚开头就已经受不了这点枯燥的话,将来枯燥的事情多了去了。
另外,针对网友,我想专门再补充两句:中国的计算机教育非常落后,这点我同意;用 C 语言作为入门语言作为教育落后的标志,这点我完全不同意。
一些网友提到说在纯字符界面下学习太枯燥,我想再补充几句:
语言只是一个工具,只要调用了图形界面的 API,C 语言一样可以写窗口,可以画图形,可以播放音乐,可以联网,甚至你想用 C 语言煮茶,只要有相应 API 也不是不可能。但问题在于,在基本编程功底还不扎实的情况下,你学会一堆花哨的 API,除了能在不懂编程的人面前炫耀一下之外,还能有什么别的用途呢?
单靠几个单独的 API 调用,的确是能够做出一些好玩的小玩具,可那只是玩具而已。而且,你做的东西越复杂,需要面对的枯燥的东西就越多,要想实现一个有用的软件,需要面对的枯燥内容比起纯字符界面下的学习只多不少。
作为计算机专业的人员来说,C语言是混饭吃的家伙,学好也是应该的。不过,编程在这个世界上并不是计算机专业的专利,程序这个词语本身也是可以指办事程序等等。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取
对于初次接触编程的人来说,我觉得关键是学会用 判断和循环 来分解问题解决问题的能力。c#和java都是提供了大量的类库的,并不需要写很多算法,学c语言写冒泡排序除了让你学会这个算法,实际实在没什么用武之地,数据库一句order by就解决排序问题了,如果你用c语言真的写出一种更好的排序算法,那这属于数学范畴,是理科问题,应该直接去发表论文而不是自己编程玩。
可能这儿计算机专业的人比较多吧,对c语言推崇有加,我是认为这个世界除了计算机专业写算法的程序员,还需要的是更大量的胶水程序员。
好了,这期就到这里了,觉得对屏幕前的你有帮助的麻烦一键三连
边栏推荐
- Nr--- Pusch I: sorting out the agreement process
- Flink learning notes (XI) table API and SQL
- Stm32-hal library learning, using cubemx to generate program framework
- Leetcode daily question (968. binary tree cameras)
- [CSDN] C1 training problem analysis_ Part III_ JS Foundation
- Flink learning notes (VIII) multi stream conversion
- [csdn] C1 analyse des questions de formation Partie III Bar _ JS Foundation
- Convert IP address to int
- UCI and data multiplexing are transmitted on Pusch - placement of data and UCI positions (Part III)
- The third paper of information system project manager in soft examination
猜你喜欢
Nodemcu-esp8266 development board to build Arduino ide development environment
【22毕业季】我是毕业生yo~
Common software open source protocols
Hal library sets STM32 clock
[csdn] C1 analyse des questions de formation Partie III Bar _ JS Foundation
Leetcode daily question (2212. maximum points in an archery competition)
NR technology -- MIMO
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 5 --blinker_ MIOT_ MULTI_ Outside (lighting technology app + Xiaoai classmate control socket multiple jacks)
UCI and data multiplexing are transmitted on Pusch - determine the bit number of harqack, csi1 and csi2 (Part II)
[male nanny style] teach you to open the first wechat applet
随机推荐
Leetcode daily question (2305. fair distribution of cookies)
Project cost management__ Topic of comprehensive calculation
Send mail using WP mail SMTP plug-in
The rise and fall of mobile phones in my perspective these 10 years
Installation and uninstallation of pyenv
JMX、MBean、MXBean、MBeanServer 入门
STM32 external interrupt experiment
Solve the problem of disordered code in vscode development, output Chinese and open source code
How does the nr-prach receiver detect the relationship between prembleid and Ta
Nr--- Pusch I: sorting out the agreement process
Jestson nano custom root file system creation (supports the smallest root file system of NVIDIA Graphics Library)
Project cost management__ Cost management technology__ Article 6 prediction
Stm32-hal library learning, using cubemx to generate program framework
UCI and data multiplexing are transmitted on Pusch (Part V) -- polar coding
Nr-prach: access scenario and access process
PRACH --- originator
All processes of top ten management in project management
[CSDN] C1 training problem analysis_ Part II_ Web Foundation
Fundamentals of Electronic Technology (III)__ Chapter 1 resistance of parallel circuit
The cyclic shift of PUCCH in NR channel is generated by MATLAB