标题: 如何才能自己编单片机程序?开发板都是copy的,要学数据结构和算法? [打印本页]

作者: cheney03    时间: 2020-7-2 23:10
标题: 如何才能自己编单片机程序?开发板都是copy的,要学数据结构和算法?
初学51单片机,有点C语音基础,能看懂一些程序。相关资源已经学了一遍,开发板的实验程序都是Copy的,就是还不会自己编写程序。各位坛友有没什么好的建议或者方法,怎么样才能自己编写mcu程序去实现某个功能,是不是要学数据结构和算法?

作者: csmyldl    时间: 2020-7-3 07:48
要自己能编写程序:第一步:建立工程,搭建程序框架;第二步:把要实现的功能用流程图描述出来;第3步:把流程图中的描述用语句表示出来;第4步:编译改正不正确的表示方法
编程最关键的是算法和语句表示,算法涉及数据结构,语句涉及指令或描述语言,要学会自己编程,还是多看看他人的程序,从他人的程序中积累经验,而不只是COPY而已
作者: wwh2382    时间: 2020-7-3 07:49
要想不copy,就要先copy,然后改进copy,还要会搭板子,在另一个单片机上运行copy
作者: liangsheng0212    时间: 2020-7-3 08:25
跟着copy的学啊,总结它的思路,我开始抄着来什么东西就白嫖,看的代码多了,之前对自己印象深刻的点就可以随意发挥,就是慢慢来
作者: 黄youhui    时间: 2020-7-3 09:22
大神也是经常copy的好吗。谁天天自己敲代码,一个不留神就是改一天的bug。
作者: qindada    时间: 2020-7-3 09:24
通用的驱动代码以copy为主吧,核心的代码是自己敲!
作者: xxpp2011    时间: 2020-7-3 10:02
可以先根据相似的设计改进,比方说做八路抢答器,可以以现成的四路抢答器为模板修改,改的过程就能理解程序了。
作者: XYB1995    时间: 2020-7-3 10:59
一开始是自己照葫芦画瓢
作者: 权威人物    时间: 2020-7-3 17:08
看你的样子就是copy的不够,网上有很多小项目,把COPY的放进去实现,遇到不同的就要想着去变通修改了,
作者: 单片机憨憨    时间: 2020-7-3 20:10
可以根据自己Copy的程序总结一下算法,然后根据找一下编程视频学习一下,进一步理解消化。
作者: OHHO    时间: 2020-7-3 21:36
视类型而定....copy是学习思考的开始,不必太过纠结。
例如上面说的通用的驱动代码,难道你每次做工程还从头写一遍驱动么?copy代码当然是得理解,像这种,比如你第一次copy别人的某个驱动代码的时候,看看手册,看看时序,这里为什么要这么写,了解一下,之后就算工程用到需要你自己拓展一些东西,你自己理解了自然也可以写出来。没人会每个项目都重复做这些事,你觉得你自己原理理解了,那就可以copy,节省不必要的时间。
我这里指的copy,指的是能进行适当的修改满足自己需求的copy,毕竟,网上的东西也不是全能照搬,大家也都是交流学习,如果你能修改别人的不足之处,那当然更好了。
数据结构的知识有当然最好,目前题主这个阶段我觉得并不需要用到那方面的知识。另外就是别太依赖开发板,自己尝试去根据需求搭硬件电路分析(可以看看论坛上或者网络上别人开源的一些项目,跟着做),相信你会有不少收获的。一开始学习都是很困难的
作者: cjm82    时间: 2020-7-3 22:00
赞同9楼的看法,老板是不会在乎你是COPY的还是自己写的.
我实际项目中可以说95%以上的底层代码都是COPY.
接下来应该做的就是找些实际的小项目做做,不要纸上谈兵.等做了一两个小项目,感觉自己基础的东西不够用了,再去补基础吧.
作者: TTQ001    时间: 2020-7-4 06:38
不要只是想,开始学习如何编程计算机,动手就很重要。
作者: OUFUJIE    时间: 2020-7-4 11:50
写好自己核心的代码就行了,有空就想一下怎么优化代码,例如增加代码可读性,运行速度提高,能耗优化这些
作者: cheney03    时间: 2020-7-4 13:36
权威人物 发表于 2020-7-3 17:08
看你的样子就是copy的不够,网上有很多小项目,把COPY的放进去实现,遇到不同的就要想着去变通修改了,

确实,实际做的东西比较少。
作者: cheney03    时间: 2020-7-4 13:40
OHHO 发表于 2020-7-3 21:36
视类型而定....copy是学习思考的开始,不必太过纠结。
例如上面说的通用的驱动代码,难道你每次做工程还从 ...

说得很有理,学习都是一个循序渐进的过程!
作者: 00一一    时间: 2020-7-4 16:09
单片机的编程学习要通过实践才能真的掌握,通过实际的操作才能更好的编程。
作者: lucky_szt    时间: 2020-7-4 16:46
每个人都是copy过来的,关键是你会不改,自己想点小玩意做做,灯带等等。想想这些东西是怎么实现的。多问问自己为什么会出现这样的效果,我还能改成什么效果。数据结构最好有,没有也可以。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1