5525|17

54

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

现在想学单片机软件开发,但我主做硬件,对软件开发过程还不是很清楚,求助几个问题? [复制链接]

 
本人一直在做硬件行业,对软件一直是一知半解,现在想把软件方面的知识技能补充起来,做硬件行业也有2年多了,学了不少知识,但对软件也非常感兴趣,在学校也只学过c语言,工作过后也有学过c程序设计,但这种水平应付工作肯定还不够,下面我有几点疑问想请有经验的朋友解惑一下:
1.我学的是c程序设计,基本讲的是一些算法,数据类型等,感觉这方面的理论比较多,用在实际项目中却很少,由于我做的是工控方面的设备,一般都有单片机控制的,感觉学了c程序设计,对这方面的帮助也很少,根本就没摸着门道,后来在网上看了下,有C单片机程序设计,是不是该去学这本书呢?

2。如果学习单片机编程的话,那么应该从哪种类型的单片机入手呢?51系类的在学校就有学过,单片机种类繁多,是不是没用到一种型号的单片机都要去学习他的编程方法?那不是很麻烦。
3.看到我们公司的软件工程师写的代码都是几千行的,在硬件上运行流畅,那感觉很吊的样子,不知道我什么时候才能达到这样的水平,还有不知道我的这种想法和学习路线是不是对的,有经验的前辈们请指导指导小弟,或者有好的书籍和学习思路,或者建议等,小弟在这里感激不尽。
此帖出自单片机论坛

最新回复

我的理解: 1.当你能把C和汇编联系在一起的时候你就真正理解C了 2.所以用C,跨平台差别不大 3.不delay就流畅了 搞电子经验是很重要的,水很深,最好掌握的比骄全面才好。   详情 回复 发表于 2016-6-29 10:53
点赞 关注(1)
 

回复
举报

172

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
把一个做精,一般要求软硬兼施的公司产品都做不高端。
此帖出自单片机论坛
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
1. 基本不用去学那本书,因为你会发现,你学了之后,仍然不会;
2. 从哪种单片机入门都行,单片机这种东西,核心原理都差不多,一通百通。就像自行车,只要用一辆自行车学会了,其他类自行车也会骑。选择的原则是,从你学过的入手,或者从资料最多、比较简单的入手;
3. 几千行的代码?我毕业设计的代码都几万行了,更别提现在工作中写的代码了。只要你能坚持,大约三个项目的时间过后,你就能达到几千行代码的水平。

既然你是做硬件的,学过C也学过51,个人建议你从51开始吧。另外,最好的学习方法,就是做项目。建议你用51做一些项目,可以以你们公司的产品为蓝本,开发硬件平台,然后按产品功能要求编写程序。又或者做一些功能性开源项目,比如电子日历等,设计好硬件,然后按功能编写程序。只要两到三个项目,你就能成长很多。千万别一个劲的看书,编程入门这种事,看书是看不来的,从实践中成长才会快。
此帖出自单片机论坛
 
 
 

回复

1万

帖子

24

TA的资源

版主

4
 
只kansu看书是b不够的,做几个项目或者DIY后,就会清楚基本方法了。
此帖出自单片机论坛
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

5
 
找个小项目搞搞,现在论坛也有DIY活动,赶紧行动起来
此帖出自单片机论坛
 
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 

回复

1234

帖子

4

TA的资源

纯净的硅(高级)

6
 
经验是在项目中得到的,所以,从项目入手,慢慢的回顾整体,最后你就是大神
此帖出自单片机论坛
 
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 
 

回复

54

帖子

3

TA的资源

一粒金砂(中级)

7
 
yanhaijian 发表于 2016-6-27 19:29
把一个做精,一般要求软硬兼施的公司产品都做不高端。

没有,软件只是我的个人兴趣,公司并没有要求
此帖出自单片机论坛
 
 
 

回复

272

帖子

0

TA的资源

纯净的硅(初级)

8
 
这么说吧,既然你想学软件。
那就找一款你们公司用的最多的单片机,然后找块板子搭个平台,你是硬件的,这点小意思。
然后写一些简单的程序比如io翻转,定时器计时,ad采样等,这些不需要外围电路都可以做的。
期间遇到问题先网上找找,不行再问你的同事,这样很快入门的。但是代码尽量自己敲。

其实工作中还是要选一个方向的,如果你当做乐趣或者当做工具,可以学学。
此帖出自单片机论坛
 
 
 

回复

54

帖子

3

TA的资源

一粒金砂(中级)

9
 
Aragorn 发表于 2016-6-27 20:17
1. 基本不用去学那本书,因为你会发现,你学了之后,仍然不会;
2. 从哪种单片机入门都行,单片机这种东西 ...

你说的很对,但现在我主要是不太熟悉编程大体框架,还是得看书
此帖出自单片机论坛

点评

你真弄清了自己的问题所在?从你在楼主位的描述看,你的问题根本就不是“但现在我主要是不太熟悉编程大体框架”。你的问题是诸如“C语言怎么写单片机程序?和标准C有什么区别?”、“我在这种芯片上写出来的代码,换  详情 回复 发表于 2016-6-28 10:15
 
 
 

回复

54

帖子

3

TA的资源

一粒金砂(中级)

10
 
dcexpert 发表于 2016-6-27 21:01
只kansu看书是b不够的,做几个项目或者DIY后,就会清楚基本方法了。

对,实践应该学的快点
此帖出自单片机论坛

点评

如果你是希望专门做单片机开发,那么需要深入了解单片机硬件和各功能模块。如果只是做为爱好,那么不妨从Arduino和micropython入手,更容易学习和使用。  详情 回复 发表于 2016-6-28 09:43
 
 
 

回复

54

帖子

3

TA的资源

一粒金砂(中级)

11
 
elvike 发表于 2016-6-27 22:32
找个小项目搞搞,现在论坛也有DIY活动,赶紧行动起来

谢谢
此帖出自单片机论坛
 
 
 

回复

54

帖子

3

TA的资源

一粒金砂(中级)

12
 
ywlzh 发表于 2016-6-27 22:55
经验是在项目中得到的,所以,从项目入手,慢慢的回顾整体,最后你就是大神

恩,谢谢指点
此帖出自单片机论坛
 
 
 

回复

1万

帖子

24

TA的资源

版主

13
 
zhandizhandi 发表于 2016-6-28 08:34
对,实践应该学的快点

如果你是希望专门做单片机开发,那么需要深入了解单片机硬件和各功能模块。如果只是做为爱好,那么不妨从Arduino和micropython入手,更容易学习和使用。
此帖出自单片机论坛
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

14
 
zhandizhandi 发表于 2016-6-28 08:33
你说的很对,但现在我主要是不太熟悉编程大体框架,还是得看书

你真弄清了自己的问题所在?从你在楼主位的描述看,你的问题根本就不是“但现在我主要是不太熟悉编程大体框架”。你的问题是诸如“C语言怎么写单片机程序?和标准C有什么区别?”、“我在这种芯片上写出来的代码,换了一种芯片能不能用?”、“写出来的代码,它怎么就跑起来了呢?”、“芯片的端口是怎么被控制的?”之类。如果我说得对,那么你看书也解决不了问题,从实践出发,从点灯开始才是正确的方法。
此帖出自单片机论坛

点评

我总结一下:就是干  详情 回复 发表于 2016-6-28 10:21
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

15
 
Aragorn 发表于 2016-6-28 10:15
你真弄清了自己的问题所在?从你在楼主位的描述看,你的问题根本就不是“但现在我主要是不太熟悉编程大体 ...

我总结一下:就是干
此帖出自单片机论坛
 
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

16
 
从最基本的开始吧,一行代码一行代码的敲,弄你们自己公司的单片机就好了,还有同事可以请教,从IO口切换开始。
此帖出自单片机论坛
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

17
 
找个单片机,公司用的型号最好,其他常用的型号也行。找软件工程师,安装开发环境。找例程, 学会编译程序,下载程序。然后就分析代码吧。太复杂,可以先拿出骨干部分。再一点一点往上加内容。结合硬件,看看都有哪些输入输出,操控什么外设。用示波器看看自己程序产生和接收的信号。逐步去实现一些功能。基本入门。
此帖出自单片机论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

18
 
我的理解:
1.当你能把C和汇编联系在一起的时候你就真正理解C了
2.所以用C,跨平台差别不大
3.不delay就流畅了

搞电子经验是很重要的,水很深,最好掌握的比骄全面才好。
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表