4020|17

15

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

初学单片机者的疑惑,希望各位大神指条明路:c语言我究竟应该学到什么程度?? [复制链接]

刚开始学单片机时,老师告诉我们只需要知道最基本的东西就行了,连指针都不用会,后来学着学着发现,自己编出来的程序经常出现一些莫名其妙的问题,自己怎么也找不出问题所在,但编译或运行结果总是出错。
这究竟是因为C语言理论基础不够扎实造成的还是缺乏经验造成的?
我想提高是应该系统学学C语言还是多编写程序,遇见问题在学,积累经验呢?

我目前的状态感觉是后者,经常是突然遇到什么不会了,才去翻书,之后如果短时间内不用就忘了。

如果应该学习C语言,我是找通用的C语言书看,还是找专门的嵌入式C语言书学习呢??
此帖出自编程基础论坛

最新回复

刚好借机让你多运动下手指  哈哈  详情 回复 发表于 2013-7-29 13:15
点赞 关注(1)
 

回复
举报

6040

帖子

202

TA的资源

版主

沙发
 
首先是把基础打好,基本语法掌握熟练,剩下的就是练习写程序了,通用的C程序或者单片机的程序都行。
此帖出自编程基础论坛
 
 
 

回复

1729

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
初学单片机的话,我还是支持先学会汇编。再使用C来编写程序!
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

4
 
第一把那些所谓嵌入式c单片机c给扔了
第二,c语言就是c语言,没分什么不同c方言,只是稍有不同。

程序经常遇到问题不知道咋办.
首先我不骗你,这并不全是因为你基础语法不好,甚至不是更重要的原因
最重要的原因应该是 编程思路和调试方式

这方面一则自己慢慢感悟,二则可以开始找专业的书看

关于编程调试错误我特别推荐一本书
代码大全的一章 看目录就知道了,名字就是说调试的
这本书已经到了相当的高度,听你说的情形你看着可能还有点晕,不要紧,先看着,特别多看调试这一章,其中提及的科学调试法,可以说这个思路非常广泛使用,对调试电路也很管用。

但是我要说的是

你要更多的多写程序,多自己调试,因为你不自己趟几趟浑水,你看那些书也是没感觉的

这本书非常好,你可以多看。
看到多少就是多少,实践是自己的,学习他人的经验可以互相印证。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

5
 
忘了说
虽然我说了基础语法在这个事情里不是最重要的
但是,在你这个时候,静下心来系统学基本c语法是必须的
否则你连人家在说什么都不知道

基础就像外连的筋骨皮,那些编程思路调试方法乃至更高级的架构,是内练的一口气
但没有筋骨皮,遇到了还得挨老拳
此帖出自编程基础论坛
 
 
 

回复

15

帖子

1

TA的资源

一粒金砂(中级)

6
 

回复 5楼辛昕 的帖子

多谢斑竹指导,看来还是我写的程序不够多啊,多是在别人的程序上改改,就拿来用了
此帖出自编程基础论坛
 
 
 

回复

1025

帖子

1

TA的资源

纯净的硅(高级)

7
 
基础的实验多动脑自己思考,自己实现,自己调试ok,多调试慢慢经验就有了

有了一定基础,把C和指针研究透吧,研究个10遍8遍都不为过,还有就是C专家编程

过了以上阶段,你就得继续深入思考了,C运行时环境,特定体系架构上的汇编,到此阶段已经算高手了,此时你自己就很清楚你自己还欠缺什么,需要如何弥补
此帖出自编程基础论坛
 
 
 

回复

5015

帖子

12

TA的资源

裸片初长成(初级)

8
 
现在很多C语言的书,浅了的看也无益,主要是在介绍基本的语法;深了的,很多都出现了“究极”内容,各种稀奇古怪的用法都出来了。实际上再单片机上不需要把代码写的大家都看不懂,所以我建议先多看代码,不懂就去查。有些薄弱的地方有针对性的集中看书补充。
此帖出自编程基础论坛
 
个人签名《MCU工程师炼成记》作者之一
 
 

回复

1万

帖子

141

TA的资源

版主

9
 
编程语言的语法只是基础,最重要的是程序结构,建议一方面去重新学习大学C语言教材,另一方面务必养成良好的编程习惯,首先从写程序流程图开始,这方面我曾写过一个帖子,不妨去看看:https://bbs.eeworld.com.cn/viewthread.php?tid=285667
此帖出自编程基础论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

10
 
从现在开始停止 改别人的程序这种模式
即使是你需要一些特定的功能,非得从参考别人的例程也好

你要从零开始写程序,当然你可以复用你自己曾经写过的代码。
如果是别人的代码,如果比较简单,你要确信你能完全理解别人的代码干了什么
如果是一个非常复杂的第三方库,那你也要至少知道自己使用的接口到底做了什么。

简单的代码坚持自己写,写出来调试,自己用一下,你要相信程序可以让这个工具或者产品用起来非常赏心悦目,或者严格准确,除非你找到绝对强硬的理由,比如硬件电路本身精度不足

在职场,面对实际产品你不得不这么要求或者被要求
而如果是你自己做的东西你很可能永远不会用产品的要求去要求它。

要知道做出一个东西和做出一个登峰造极的东西完全是两码事
这个区别远大于做不出来和做出来的区别
比方说同样是按键识别
我大学时自学一样可以写出矩阵按键,但直到今天,因为面对越来越多的更细致的要求,要手感好,可能有很多个同类按键函数我不想重复,可能要处理变速响应……等等等等,我认识到原来写一个好的按键函数如此复杂,而且我抽取的第一个常用结构就是按键消抖……

所以,首先你要多写,然后你要写精,做到登峰造极,不要小看一个按键函数,你可能在这里学到以后可用于高端伺服驱动解决方案。
做多,而且要做精。慢慢的你就理解程序该怎么写了。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

11
 
wstt说到的现在市面上的书走的两个极端我深表赞同
的确是让人受不了,有许多很著名的书,早一两年我看都看不下去。
而就是今天我能完整看完的并且真的略有收获的书也不过两本

所以在学程序早期,我觉得有些书不看也罢,不是它不好,是你没到那个段位看也白看

所以还是多多实践,如果你不知道到底发生了什么事情,会有什么麻烦,那你是不会相信为什么他们总是强调你一定要规范化命名,不要对指针进行乘除运算  等等等等。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

12
 
说到流程图,我也说点自己的感受

有一段时间我试图用流程图理清我的车程序,后来发现面对一个复杂的状态机,用一种我自己创造的后来发现类似于状态转换图的图示方法更能帮我理清复杂的状态跳变,并且可以追查整个状态有没有闭合,或者漏了什么,,,
到后来,我又发现我更喜欢直接用接口的方法,从上往下一层层的逐步求精——注意哦,我是直接在程序里做这件事,而不是另外一个什么设计文档,我曾经是那样做的,而今我越来越倾向把一切都表达在代码里……

我说这些的意思是
如同很多人在书里所说,实际上没有一个固定的方法可以帮你解决所有问题,不过,在你经验不够得时候,你可以多学习别人的方法,不管是大师的著作还是名不见经传的网络内容,只要他对你有启发作用就可以了。

当然永远不要本末倒置,你自己的方法和体系才是最根本的,别人的方法不管是谁都应该只是一个模块渗透到你原有的系统里去。
太过彻底的改革只能是暴政,这句话对学习同样适用。

mcconell说过一句话,我觉得很适合这个观点
把它们当真你工具箱里的一个备用工具,你只需要知道什么时候拿起哪一个工具是最合适的就好了。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

13
 
不过,如同chunyang老师所说,用流程图,但不限于流程图,用图表的方法去显化你的思路是一个非常有意义的事情
因为你很可能可以从图形里看到文字表述无法承载的动态联系,就像以前做初中几个证明题一样,图表的信息量不是文字所能比拟的,当然它的传输成本也不可同日而语,所以我现在用手机只好罗罗嗦嗦打字了,,,,,,
此帖出自编程基础论坛
 
 
 

回复

15

帖子

1

TA的资源

一粒金砂(中级)

14
 
感谢以上诸位前辈的指导,特别是辛昕版主辛苦的用手机打字,刚来论坛不久,发现大家都很热情,这给我带来了很大帮助。再次感谢
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

15
 
不要太感动,,,
此帖出自编程基础论坛
 
 
 

回复

2万

帖子

74

TA的资源

管理员

16
 
原帖由 辛昕 于 2013-7-28 22:18 发表
不要太感动,,,
辛昕最近只能手机?真辛苦啊
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

17
 

回复 16楼soso 的帖子

戒网一个半月,于昨天正式宣告结束......
就是实在点背了点,刚接好网,大爷的,刚上没一个小时就网络故障,今天早上到公司才短信通知修好了

我说了我点背吧,没人信~~
此帖出自编程基础论坛
 
 
 

回复

2万

帖子

74

TA的资源

管理员

18
 
原帖由 辛昕 于 2013-7-29 13:12 发表
戒网一个半月,于昨天正式宣告结束......
就是实在点背了点,刚接好网,大爷的,刚上没一个小时就网络故障,今天早上到公司才短信通知修好了

我说了我点背吧,没人信~~
刚好借机让你多运动下手指  哈哈
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表