搜索
bottom↓
回复: 95

[头皮发麻]半路出家的我觉得复杂的51单片机程序很难写

  [复制链接]

出0入98汤圆

发表于 2019-12-12 18:37:27 | 显示全部楼层 |阅读模式
这里说的复杂的51单片机程序是那种功能很多,用到多个外设和时序的程序
比如数控电源,就算是用STC单片机写,片上资源调用,寄存器读写,外部总线调用外部IC
键盘扫描(如果还有长按,双击啥的更加头皮发麻),液晶屏多级菜单
电源还要跑个PID算法,均值滤波算法的
设计的时候都有一种毫无头绪的感觉

而且也没有什么现成的案例来照搬
网上51单片机方面的社区,资料,讨论基本上都是针对初学者
复杂一点的程序设计和开发都是一代代电工自己重复造轮子造出来的吗?

所以老哥们,像我这种半路出家的,有一些单片机和电路基础的,应该怎么样提高自己开发复杂嵌入式程序的能力呢?
我看网上不少8位机上的大工程,那些都是怎么设计和实现出来的?

出0入4汤圆

发表于 2019-12-12 18:46:51 | 显示全部楼层
认真看一下教程吧,你这个问题,不是51单片机程序很难,应该是所有单片机程序都觉得难。

出0入0汤圆

发表于 2019-12-12 18:56:14 来自手机 | 显示全部楼层
做产品是不简单

出0入0汤圆

发表于 2019-12-12 19:03:15 来自手机 | 显示全部楼层
模块试+任务调度器,

出0入0汤圆

发表于 2019-12-12 19:03:20 | 显示全部楼层
一个一个功能去实现,最后就都实现了。复杂的功能先简化,再慢慢丰富。

出0入98汤圆

 楼主| 发表于 2019-12-12 19:25:48 | 显示全部楼层
laujc 发表于 2019-12-12 18:46
认真看一下教程吧,你这个问题,不是51单片机程序很难,应该是所有单片机程序都觉得难。 ...

问题就是在教程上
我愿意看,可是我觉得合适的教程很少
嵌入式程序设计和实现方面的教程比较零散
STC官方推荐那基本我都找来翻过,感觉还是面向入门者居多

我一直想知道有哪些是面向51单片机的进阶类教程
我所知的有一本<时间触发式嵌入式系统设计>
其他的还不大了解,我看论坛里讨论的也不多

出0入98汤圆

 楼主| 发表于 2019-12-12 19:27:31 | 显示全部楼层
LM1876 发表于 2019-12-12 19:03
模块试+任务调度器,

我也这么觉得
明明现在keil和STC的产品上都强化了硬件仿真和调试功能,
各种RTOS或者OSlite框架也有,但就很少人在网上推广这个事情
51单片机社区基本上也都是各种初学者居多
是不是因为业界已经很少在51单片机上做开发了?
全面转到同价的STM32上?

出0入98汤圆

 楼主| 发表于 2019-12-12 19:30:23 | 显示全部楼层
imliyucai 发表于 2019-12-12 19:03
一个一个功能去实现,最后就都实现了。复杂的功能先简化,再慢慢丰富。

这倒是,不过我看PC编程的python和嵌入式编程里的arduino
都有大量的库可以直接调用,开发人员慢慢就分成了两拨人
调用的不需要关心函数如何实现,只要会用就可以组合出很不错的功能
编写函数实现的在github上也会跟同好交流,

就好像造车厂和引擎厂各做各的
而51方面社区本来就少,发的内容也以重复造轮子居多

出0入4汤圆

发表于 2019-12-12 19:31:34 | 显示全部楼层
rclong 发表于 2019-12-12 19:25
问题就是在教程上
我愿意看,可是我觉得合适的教程很少
嵌入式程序设计和实现方面的教程比较零散

会用单片机和会做产品还是有一个门槛的

我大学毕业刚工作时,一个很简单的小项目,都不知道如何下手。

后面老大简单指点下,就入门了。我一直说他是我导师,老大还不承认,他说,感觉没有认真教过我。

出0入99汤圆

发表于 2019-12-12 19:33:54 | 显示全部楼层
本帖最后由 lovewind 于 2019-12-12 19:35 编辑

这和51没什么关系,资源有限,RTOS又基本用不了,,,裸奔就罗本,你不造还想怎么弄,只是你要把每个部分自己写出来(其实还是复制粘贴来的)只不过风格不一样,要改改而已

arduino是因为硬件定型了,所以复制过来的库可以直接调用,51每个人的电路都不一样,当然要改动改动

出0入0汤圆

发表于 2019-12-12 21:39:49 | 显示全部楼层
3天精通  5年入门

出0入4汤圆

发表于 2019-12-12 21:53:45 | 显示全部楼层
有项目慢慢做吧,都是一步步走过来的。谁也不是一下子就是大牛了

出55入66汤圆

发表于 2019-12-12 22:10:45 | 显示全部楼层
51的架构太旧,有不合理的地方,还不如现在流行的8位单片机容易上手。另外没有仿真器,调试也不方便。

出0入42汤圆

发表于 2019-12-12 22:29:06 来自手机 | 显示全部楼层
现在8位的是指M0吗?

出0入42汤圆

发表于 2019-12-12 22:30:56 来自手机 | 显示全部楼层
多做项目,其实本质都一样的,我写51和stm32基本一个思路,复杂的功能总是可以分解后,依次处理的。

出0入98汤圆

 楼主| 发表于 2019-12-12 22:40:30 | 显示全部楼层
cpumaker 发表于 2019-12-12 22:10
51的架构太旧,有不合理的地方,还不如现在流行的8位单片机容易上手。另外没有仿真器,调试也不方便。 ...

现在流行的8位处理器有哪些资料和教程比较丰富的?
arduino吗?

出0入98汤圆

 楼主| 发表于 2019-12-12 22:41:36 | 显示全部楼层
我是一个大白菜 发表于 2019-12-12 22:30
多做项目,其实本质都一样的,我写51和stm32基本一个思路,复杂的功能总是可以分解后,依次处理的。 ...

我觉得51单片机的进阶教材太少了
而进阶教材太少的原因是因为业界用得少
用得少是因为现在51已经不经济了
不知道这种想法对不对

出0入0汤圆

发表于 2019-12-12 22:43:39 | 显示全部楼层
即然想提高,我觉得就不能局限在51,我也是半路出来的,握个爪

出0入42汤圆

发表于 2019-12-12 23:01:27 来自手机 | 显示全部楼层
rclong 发表于 2019-12-12 22:41
我觉得51单片机的进阶教材太少了
而进阶教材太少的原因是因为业界用得少
用得少是因为现在51已经不经济了 ...

51也好,stm32也好,都只是工具,都能实现我们想要用它完成的任务。傻孩子大师的状态机和液晶菜单教程,坛子里其他人推荐的事件触发和时间触发帖子,可以都看看,会有收获的。我现在有些简单控制产品还是用stc的和n76e003都是51,功能也能实现,复杂的处理网络或者驱动液晶的会上stm32和arm,主要看功能需求和硬件资源是否匹配

出0入20汤圆

发表于 2019-12-12 23:20:16 | 显示全部楼层
跟硬件半毛钱关系都没有,LZ需要的工程经验或者说软件工程方面的知识。

推荐清华大学出版社的 嵌入式系统软件工程 这本书,老外写的,优点是够全,缺点是太厚。
我不是看这本入门的,我是看了好多好多乱七八糟的书最后自己瞎琢磨的,其实没必要,软件工程发展几十年了有太多现成的方法和套路学会用就够了。

出40入70汤圆

发表于 2019-12-12 23:56:51 | 显示全部楼层
说说我对单片机的看法,:我尝试学了很多次,每次坚持个把月,就放弃了,干不下去了,一个自己确实不懂,买资料,下载视频,均止步于流水灯等简单玩意,二个半路出家意味着年龄不小了,单片机或者设计类的工作都是要一天到晚做电脑前捣鼓的,所以我后面改变了主意,转向plc,灵活简单很多!!
我一直在想,如果有人能够像家里床一样把写程序这样非常个性化的事情搞成功,估计还是有很大很大的市场!很多赚钱的行当,老板门其实不想让更多人知道,要是有个能直接下单的平台将会方便很多!

出0入98汤圆

 楼主| 发表于 2019-12-13 00:03:59 | 显示全部楼层
szman5108 发表于 2019-12-12 23:56
说说我对单片机的看法,:我尝试学了很多次,每次坚持个把月,就放弃了,干不下去了,一个自己确实不懂,买 ...

我看别人用arduino做原型开发,很多东西都可以直接用现成的,社区也比较活跃,共享也多
单片机开发就缺乏这样的环境

出0入42汤圆

发表于 2019-12-13 00:15:28 来自手机 | 显示全部楼层
21天从入门到放弃。

出0入0汤圆

发表于 2019-12-13 00:21:49 来自手机 | 显示全部楼层
教程教程已经够多了,我觉得还是人的问题,多从自身自身找问题。上一代程序员,资源更受限,但汇编写的出神入化

出0入104汤圆

发表于 2019-12-13 01:52:11 来自手机 | 显示全部楼层
这真是(本末倒置),自己内功还没有修炼好,就想一步登天。识写中文字是不是就可以写一本好的剧本或武侠小说很受欢迎的?你都还未学会这四个字如何(融会贯通),这个世界就是四个字(知易行难)!

出55入66汤圆

发表于 2019-12-13 02:33:07 | 显示全部楼层
rclong 发表于 2019-12-12 22:40
现在流行的8位处理器有哪些资料和教程比较丰富的?
arduino吗?

基础打好后,就基本只用看芯片厂商的datasheet, 参考手册和应用笔记了,偶尔需要google下例程。
我的基础是在学校打的,计算机组成原理这门课对单片机帮助最大,课程设计是做个CPU,做完后感觉所有单片机都透明了。

出0入104汤圆

发表于 2019-12-13 03:12:43 来自手机 | 显示全部楼层
cpumaker 发表于 2019-12-13 02:33
基础打好后,就基本只用看芯片厂商的datasheet, 参考手册和应用笔记了,偶尔需要google下例程。
我的基础 ...

你说对了:很多人基础还未打好就要找捷径。

不如直接些问,这个天下有没有一本捷径天书,做生意一下子就可以超越李嘉诚的财富!

出0入0汤圆

发表于 2019-12-13 08:42:27 | 显示全部楼层
跟建房子一样,一步一步来,把框架设计好,模块化,不要图快随便实现就完事,这样做以后移植扩展都很麻烦

出0入98汤圆

 楼主| 发表于 2019-12-13 09:39:56 | 显示全部楼层
cpumaker 发表于 2019-12-13 02:33
基础打好后,就基本只用看芯片厂商的datasheet, 参考手册和应用笔记了,偶尔需要google下例程。
我的基础 ...

你说这些我也知道,我也经常看
厂商参考手册和应用笔记依旧是片上资源开发为主
8位机系统级的设计框架相对python程序之类的少很多
你看我们论坛里交流单片机程序的时候讲得最多的就是"论坛里发过,先搜索一下"
可见这些内容都比较分散
长期做开发的人可以靠自己积累,这没问题
快速原型开发上就比不过现在的arduino体系

我觉得很多写单片机的以前自己吃苦熬过来了
看别人来寻求快速原型开发的办法
多数都是嗤之以鼻,以为别人总想着走捷径,
我看他们就不妨去看看matlab,arduino,python,NI ELVIS这些项目是如何帮助别人快速实现想法
这些项目都是来源于创始人觉得现有的方案都不方便才改进的.

出0入0汤圆

发表于 2019-12-13 09:41:29 来自手机 | 显示全部楼层
无法使用git让国内程序员落后至少5年

出0入0汤圆

发表于 2019-12-13 09:44:36 | 显示全部楼层
用个伪操作系统做个任务解耦,然后分任务进行。这样就不怕功能复杂了

出0入98汤圆

 楼主| 发表于 2019-12-13 09:48:26 | 显示全部楼层
andy 发表于 2019-12-13 01:52
这真是(本末倒置),自己内功还没有修炼好,就想一步登天。识写中文字是不是就可以写一本好的剧本或武侠小 ...

但我依然觉得51单片机上缺乏系统的进阶教材是我们必须面对的事实
无论是原厂的手册,京东当当上出售的图书,还是网上公开的视频教程及大学课程
51单片机教材始终定位在面向初学者首次学习单片机上
我不是业界的我不能肯定这是否就与51单片机本身定位有关(有可能国内就定位它只能做入门和初学的器件)

当然长期使用51单片机的开发者多数都是靠自己积累和整理,不断实践,最终成为大牛,这我知道.
但这并不影响到我们的确缺乏一些系统进阶教材这一事实.
从arduino日渐流行和一些国外进阶教材(如时间触发系统设计)广受欢迎就可以从侧面印证这一点
为什么这些优秀的教材和平台就不能诞生在国内?

出0入98汤圆

 楼主| 发表于 2019-12-13 09:51:26 | 显示全部楼层
qiqirachel 发表于 2019-12-13 09:41
无法使用git让国内程序员落后至少5年

确实
我觉得像CSDN和PUDN这种社区选择了自我封闭(需要积分和注册才能下载甚至看全文)就有很大责任
中国嵌入式开发者这么多,本来就应该有一个非常上规模和水平的开发者社区

出0入228汤圆

发表于 2019-12-13 10:03:55 | 显示全部楼层
单片机的教程 全是 定时器,中断。

用用arduino 的protothread library 库吧
基于状态机的伪os

出0入98汤圆

 楼主| 发表于 2019-12-13 10:06:18 | 显示全部楼层
FireBrain 发表于 2019-12-13 00:21
教程教程已经够多了,我觉得还是人的问题,多从自身自身找问题。上一代程序员,资源更受限,但汇编写的出神 ...

上一代程序员是白手起家,很不容易,也做了许多不错的项目(比如周立功)
可是我觉得普遍得到开发者认可的国内8位单片机项目/系统/框架并没有太多啊
优秀的比如论坛里傻孩子状态机,菜单之类的项目,现在日渐流行的RT-Thread都很不错
但大多数国内的单片机教材里都很少提及,对不对?

你看即使是傻孩子自己推荐的图书里,也是以国外图书教材居多
https://www.amobbs.com/thread-970110-1-1.html

出0入0汤圆

发表于 2019-12-13 10:10:33 | 显示全部楼层
51可以考虑用protothread协程这个伪“操作系统”,不涉及汇编,不用动态内存分配,没有复杂的任务调度。论坛上类似的小小调度器就是类似的思路,switch case。

出0入98汤圆

 楼主| 发表于 2019-12-13 10:12:23 | 显示全部楼层
wxws 发表于 2019-12-13 10:03
单片机的教程 全是 定时器,中断。

用用arduino 的protothread library 库吧

确实很不错
51单片机上现在就很难看到这样的框架/教程(如果有请一定告诉我,我会购买支持)
我感觉一些国内主流的教材作者自己甚至都不知道arduino体系下8位机都能玩到这种程度了

出0入75汤圆

发表于 2019-12-13 10:17:06 | 显示全部楼层
不是51难写,而是程序架构和功能解耦难。
功能性验证,没有特殊需求,可以直接用arduino这类现成的库,现成的不合适,就得自己写了,产品一般无法只用arduino这类的库。

出0入0汤圆

发表于 2019-12-13 10:23:18 | 显示全部楼层
rclong 发表于 2019-12-13 09:51
确实
我觉得像CSDN和PUDN这种社区选择了自我封闭(需要积分和注册才能下载甚至看全文)就有很大责任
中国嵌 ...

越落后越封闭,工控类 和 家电类 比嵌入式还要封闭,说到底就是想用不值钱的技术换两个钱

出0入98汤圆

 楼主| 发表于 2019-12-13 10:23:19 | 显示全部楼层
Doding 发表于 2019-12-13 10:17
不是51难写,而是程序架构和功能解耦难。
功能性验证,没有特殊需求,可以直接用arduino这类现成的库,现成 ...

老哥说得对,
这方面有啥教材或者书籍推荐吗?
不光我自己想学习,我也想推荐给别人学习.

出0入75汤圆

发表于 2019-12-13 10:25:44 | 显示全部楼层
rclong 发表于 2019-12-13 10:23
老哥说得对,
这方面有啥教材或者书籍推荐吗?
不光我自己想学习,我也想推荐给别人学习. ...

各种嵌入式原理的书里基本都有吧,不过打好基础更重要。
论坛里傻孩子的书,就是非常好的资料。

出0入98汤圆

 楼主| 发表于 2019-12-13 10:26:20 | 显示全部楼层
xrb2936 发表于 2019-12-13 10:23
越落后越封闭,工控类 和 家电类 比嵌入式还要封闭,说到底就是想用不值钱的技术换两个钱 ...

哎,心有不甘
我也是别人初学者入门了,问起我相关问题,要我点拨一些进阶教程看看,我发现自己也想不出来
才来论坛发帖的.

出0入0汤圆

发表于 2019-12-13 11:13:45 | 显示全部楼层
个人觉得,要是有接获项目与时间的需求及压力,那学起来是很快的。
相反的,没项目与时间的压力,自己想要能上手,恐怕很快就放弃了。

出0入0汤圆

发表于 2019-12-13 11:24:09 | 显示全部楼层
本帖最后由 RAMILE 于 2019-12-13 13:43 编辑
qiqirachel 发表于 2019-12-13 09:41
无法使用git让国内程序员落后至少5年


这东西不符合国内野人的习惯,有系统教育的才玩得转

英语鸿沟是个很致命的因素,M$已经说要搞个中文版的gayhub了

开源 的本质就是装逼(脱袜子的中指警告),国内牛逼的人暂时比较少,装逼不成气候

在5年前是落后20年的,发展的很快

LZ这样的半吊子,没人带着走,基本上不可能有进步的
这不是针对楼主,大部分人都是半吊子,这就是常态

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入29汤圆

发表于 2019-12-13 11:28:20 | 显示全部楼层
难不难和使用哪个MCU真没有多大关系,脑子里面逻辑清晰就可以了

出0入0汤圆

发表于 2019-12-13 11:34:41 | 显示全部楼层
本帖最后由 RAMILE 于 2019-12-13 13:32 编辑

越落后越封闭,工控类 和 家电类 比嵌入式还要封闭,说到底就是想用不值钱的技术换两个钱

这是好事,没有垄断就没有利润,7nm光刻机的核心技术也是封闭的,那些论文里面的东西不会教你如何复制一台机器,有价值有配方参数的论文都是绝密的,市场经济的核心一条就是保护自己的资产

现在的开源风向很奇怪,更像是一种竞底的破坏性商业推广,一步到位把熵推到最大,什么都告诉你
如果有人只介绍核心原理,反而被责备不开源,开源不彻底,现在都流行这种白嫖了

出0入0汤圆

发表于 2019-12-13 11:41:12 | 显示全部楼层
新手可以看看状态机之类的吧,把事物状态和转移条件弄清楚用状态机编程就简单了。

出0入98汤圆

 楼主| 发表于 2019-12-13 11:47:06 | 显示全部楼层
RAMILE 发表于 2019-12-13 11:24
这东西不符合国内野人的习惯,有系统教育的才玩得转

英语鸿沟是个很致命的因素,M$已经说要搞个中文版的 ...

现在经常发帖子做分享的甚至都慢慢改去写自己的微信公众号了
不然就是这种群那种群
本来国内开发者就多
大家抱团起来交流,好好运营开发者社区
减少重复造轮子,让大家空闲出来好好想一想一些复杂一点的问题

例如像这个帖子
https://www.amobbs.com/forum.php ... ble&tid=5467559

里面millwood0 老哥提到的
google "black roman zero error"

2001年提出原型
2012年国内资料上还提得很少
2019年了还有人拿出来介绍
https://www.mcuzx.com/t-231.html

中间隔了多少年

出0入0汤圆

发表于 2019-12-13 11:53:40 来自手机 | 显示全部楼层
单片机本来就是轮子,你本来就在做轮子,想不做轮子,应该上大系统

出0入98汤圆

 楼主| 发表于 2019-12-13 11:58:55 | 显示全部楼层
RAMILE 发表于 2019-12-13 11:34
越落后越封闭,工控类 和 家电类 比嵌入式还要封闭,说到底就是想用不值钱的技术换两个钱

这是好事,没有 ...

是不是因为老外比较多使用代码开源,商用授权的协议
所以在开放源码之后也不太担心商业盈利方面的问题
不过历史上真的挺多不错的开源项目,最后深圳花很低的成本制造出来
比如LCR-T4表


我经常浏览youtube,arduino,instructables这些社区
看人家不少项目都写很详细的指南,作者还热心讨论,氛围挺不错的

出0入98汤圆

 楼主| 发表于 2019-12-13 12:03:36 | 显示全部楼层
nanfang2000 发表于 2019-12-13 11:53
单片机本来就是轮子,你本来就在做轮子,想不做轮子,应该上大系统

3D打印机里最有名的项目marlin固件V1.1就可以运行在8位单片机上

你看他们官方的介绍
Marlin 生产中投入了大量的人才和精力,感谢世界各地的许多志愿者。我们与社区,贡献者,供应商,主机和图书馆开发人员等密切合作,以提高Marlin固件与各种板卡的质量,可配置性和兼容性。对于最终的1.1版本,我们专注于代码质量,性能,稳定性和整体用户体验。添加了几个新功能,其中许多功能不需要额外的硬件。

我看时间触发嵌入式系统设计一书的作者也说其实8位处理器能处理很多问题
还有很多潜力可以挖掘,
所以我才想说好好整理一下51单片机进阶教材,不一定得上更加高级的大系统.

出0入0汤圆

发表于 2019-12-13 12:04:51 | 显示全部楼层
laujc 发表于 2019-12-12 19:31
会用单片机和会做产品还是有一个门槛的

我大学毕业刚工作时,一个很简单的小项目,都不知道如何下手。

当初我师傅指导我入门后,他也说没有好好带我。也许从0到1的那种印象非常深刻吧。

出0入0汤圆

发表于 2019-12-13 12:57:20 | 显示全部楼层
怕什么,一个个趟过去就好了。生而知之的人没有。

出0入0汤圆

发表于 2019-12-13 13:10:10 | 显示全部楼层
本帖最后由 RAMILE 于 2019-12-13 17:43 编辑
rclong 发表于 2019-12-13 11:47
现在经常发帖子做分享的甚至都慢慢改去写自己的微信公众号了
不然就是这种群那种群
本来国内开发者就多


写公众号的逻辑是经营自己的知名度,知名度是可以变现的无形资产  欢迎关注  张工的电路精选 里面什么都没有

QQ群就是用来发黄图的,信息不具备持久性,有价值的内容瞬间消失,唯有黄图永远更新

国内的开发者体量庞大,但是,同行成冤家是一条古训,这是一个被动技能,团结都是有条件的,像纯粹玩的群体,比如ham就很抱团

老一辈的经验,闹革命要找村子里没媳妇的地痞
这些地痞之所以成为地痞,是因为已有生存模式竞争不过别人,最糟糕出路是唯一希望,村子的人要是都能考港大,进投行,住千尺(90平)豪宅,谁还会去上大街

中国这地方到处都是竞争,不像老外即使不是财务自由,也不至于一天不工作就要面临饿死的风险

出0入4汤圆

发表于 2019-12-13 13:37:13 | 显示全部楼层
jxn98310 发表于 2019-12-13 12:04
当初我师傅指导我入门后,他也说没有好好带我。也许从0到1的那种印象非常深刻吧。 ...

出0入0汤圆

发表于 2019-12-13 15:41:34 | 显示全部楼层
RAMILE 发表于 2019-12-13 11:24
这东西不符合国内野人的习惯,有系统教育的才玩得转

英语鸿沟是个很致命的因素,M$已经说要搞个中文版的 ...

这东西不符合国内野人的习惯,有系统教育的才玩得转
//确实有系统的教育才能玩得转,我同意
英语鸿沟是个很致命的因素,M$已经说要搞个中文版的gayhub了
//微软总是不干正事,做中文版git就是纯粹的浪费时间
开源 的本质就是装逼(脱袜子的中指警告),国内牛逼的人暂时比较少,装逼不成气候
//装逼也要本事,操逼也要人家给操啊。作为俗人,能91看看人家操逼也不错的
在5年前是落后20年的,发展的很快
//有什么用?不还是韭菜,我对这个国家是否发展,或者说能否发展,毫无兴趣。。。
LZ这样的半吊子,没人带着走,基本上不可能有进步的
这不是针对楼主,大部分人都是半吊子,这就是常态
//非常同意这个观点,但是有的时候转念一想,要是每个人都那么聪明,那么努力,那么强,自己也就没饭吃了

//紧供交流,只是意见不一致

出0入0汤圆

发表于 2019-12-13 15:43:16 | 显示全部楼层
rclong 发表于 2019-12-13 12:03
3D打印机里最有名的项目marlin固件V1.1就可以运行在8位单片机上

你看他们官方的介绍

marlin真牛逼,看来看去都觉得牛逼。思想在,放哪里用都不过时

出0入4汤圆

发表于 2019-12-13 15:47:59 | 显示全部楼层
楼主发现了这个行业的问题,这是也可以成为一个你解决问题/痛点,创业的机会。

出0入98汤圆

 楼主| 发表于 2019-12-13 16:15:33 | 显示全部楼层
atommann 发表于 2019-12-13 15:47
楼主发现了这个行业的问题,这是也可以成为一个你解决问题/痛点,创业的机会。 ...

我还有自己的工作呀
我也只能真金白银去支持一下在这个方向努力的人
帮他们推广推广

出0入0汤圆

发表于 2019-12-13 16:33:20 | 显示全部楼层
程序是从简单功能到复杂功能一步一步的debug出来的!

出0入0汤圆

发表于 2019-12-13 16:43:42 | 显示全部楼层
我十几年前也是用c51,汇编,调试时没仿真器,哪里不对拔ic设程序模块设标志输出一个一个模块调试,现在回想以前写程序调试好痛苦

出0入98汤圆

 楼主| 发表于 2019-12-13 16:51:56 | 显示全部楼层
cnxh 发表于 2019-12-13 16:43
我十几年前也是用c51,汇编,调试时没仿真器,哪里不对拔ic设程序模块设标志输出一个一个模块调试,现在回想以 ...

现在流行的51单片机教材除了换成C语言,其他区别真不大
代码基本上也是烧进去看结果,连用串口打log调试的都很少资料提及

出0入0汤圆

发表于 2019-12-13 16:55:40 | 显示全部楼层
现在使用8bit搞开发,的确不如STM32的来搞,简单的多!

出0入79汤圆

发表于 2019-12-13 16:57:56 | 显示全部楼层
多看点MICROCHIP,TI,NXP,SILABS的应用笔记,实际做做就可以了,另外,国外开源的项目也很不错的。
国内搞什么创新创客,又是什么匠心精神,说的是没错,但现在的中国根本找不到安放这些话的风景啊!

所以当好GITHUB的搬运工就很厉害了,创新么,那是老外操心的事。

出0入98汤圆

 楼主| 发表于 2019-12-13 16:59:59 | 显示全部楼层
阿豪博士 发表于 2019-12-13 16:55
现在使用8bit搞开发,的确不如STM32的来搞,简单的多!

为什么这么说呢?
我看正点原子的教程里依然是建议通过学习8bit单片机入门之后再学习STM32

我也比较困惑这一点,STM32价格与许多51单片机价格相近,而且STM32片上资源还跟强很多
但很少大学是直接跳过51单片机开设STM32作为嵌入式开发入门教程的
难道是因为51单片机上更容易理解寄存器配置和IO方面的问题吗?

出0入98汤圆

 楼主| 发表于 2019-12-13 17:01:58 | 显示全部楼层
motor_control 发表于 2019-12-13 16:57
多看点MICROCHIP,TI,NXP,SILABS的应用笔记,实际做做就可以了,另外,国外开源的项目也很不错的。
国内搞什 ...

国外还有那些比较经常讨论51单片机和STM32的社区咧?
我看youtube上很多up主经常从深圳买模块和套件回去介绍,看他们评价也不错的样子
国内测评视频反而还少些

出0入79汤圆

发表于 2019-12-13 17:10:03 | 显示全部楼层
本帖最后由 motor_control 于 2019-12-13 17:15 编辑
rclong 发表于 2019-12-13 17:01
国外还有那些比较经常讨论51单片机和STM32的社区咧?
我看youtube上很多up主经常从深圳买模块和套件回去介 ...


有关51的我就比较的了解一点SILABS的,里面应用笔记配代码的比较多。

我觉得最好按应用来分,而不是按单片机类型来分。如果你想了解数字电源,我对此不太了解,但我记得英飞凌官网会有基于M0, M4的数字电源的应用笔记和配套源代码,你可以去看看。当然还有TI,这个是不容错过的好资源。里面的参考设计非常棒,必须也肯定会有数字电源的参考。MICROCHIP,NXP别忘了。

说实话,技术这玩意不能研究的太深,我们这边没什么核心技术可以搞的,就算有,估计也没几个是自己能够研究出来的,关键是跟随市场动向,做别人想要的玩意才能换钱。
就像很多人问我,无感FOC要做60RPM的速度控制,我直接说了,不要伤自己脑筋了,加个磁编,性能好又可靠,而且成本也不见得就贵呀!顾客才不管你用不用什么神秘算法,人家就是要赶快做出来效果好推市场,这样一想,是不是轻松很多?
作为换了工具的工人,程序员们也许要明白自己其实就是一个人工代码生成器,甚至很多工程师做个无感FOC的算法还比不过ST的马达控制代码生成器的程序,这也是事实的。上班么,就是赚钱。

如果是电机控制,我这个就比较的了解了,可以交流一下。

出0入98汤圆

 楼主| 发表于 2019-12-13 17:23:14 | 显示全部楼层
motor_control 发表于 2019-12-13 17:10
有关51的我就比较的了解一点SILABS的,里面应用笔记配代码的比较多。

我觉得最好按应用来分,而不是按单 ...

以前我们实验室就是做运动控制和电机驱动居多
不过我不在那个组,
我看他们一般都是围绕TI的DSC方案做电机驱动和运动控制,也包括无感FOC
他们从驱动器到运动控制器都做过样机
也有毕业的同学去了深圳雷塞工作
这些特定领域里原厂的技术文档和DEMO确实很重要
我们实验室一般也是在原厂方案基础上集成自己的算法来提高性能.

出0入79汤圆

发表于 2019-12-13 17:34:57 | 显示全部楼层
本帖最后由 motor_control 于 2019-12-13 17:36 编辑
rclong 发表于 2019-12-13 17:23
以前我们实验室就是做运动控制和电机驱动居多
不过我不在那个组,
我看他们一般都是围绕TI的DSC方案做电机 ...


所以我说了嘛,在巨人的肩膀上做东西会减少很多的弯路和探索代价。

就我所知,很多的东西都是通过逆向而来的,如果你是行业人士,肯定知道很多内幕的。

出0入98汤圆

 楼主| 发表于 2019-12-13 17:37:02 | 显示全部楼层
motor_control 发表于 2019-12-13 17:34
所以我说了嘛,在巨人的肩膀上做东西会减少很多的弯路和探索代价。

就等一个巨人的肩膀了

又怕被老哥们说我这是想走捷径

出0入0汤圆

发表于 2019-12-13 21:31:01 | 显示全部楼层
rclong 发表于 2019-12-13 17:37
就等一个巨人的肩膀了

又怕被老哥们说我这是想走捷径

找到了,说一声,我也在找.平时也就自己造轮子,很痛苦.

出0入0汤圆

发表于 2019-12-14 11:05:44 | 显示全部楼层
这就是一个积累的过程

点个LED 闪灯
然后再弄按个键 可以控制
在来玩数码管   编码器 什么的   然后控制别的硬件 比如 时钟IC  液晶屏 先弄个时钟的项目玩玩  感觉算是入门了吧 能做简单的东西了

出0入98汤圆

 楼主| 发表于 2019-12-14 11:13:43 | 显示全部楼层
天空の城 发表于 2019-12-14 11:05
这就是一个积累的过程

点个LED 闪灯

这个帖子提的问题是51单片机入门的资料很多很丰富
但是进阶的资料很少,主要还是来自个别国外资料
为什么会导致这个局面

出0入0汤圆

发表于 2019-12-14 11:17:39 | 显示全部楼层
rclong 发表于 2019-12-14 11:13
这个帖子提的问题是51单片机入门的资料很多很丰富
但是进阶的资料很少,主要还是来自个别国外资料
为什么 ...

师傅领进门修行靠个人   从头到尾    一直非要被人带着走吗?  

出0入98汤圆

 楼主| 发表于 2019-12-14 12:15:04 | 显示全部楼层
天空の城 发表于 2019-12-14 11:17
师傅领进门修行靠个人   从头到尾    一直非要被人带着走吗?


那哪个资料不是人写的?
现在缺的是系统的进阶资料和教程,以及相应的开发者社区
所以现在51单片机开发者免不了年年都是重复造轮子

出0入0汤圆

发表于 2019-12-14 13:19:02 | 显示全部楼层
楼主把项目要求写出来,花点钱吧找人帮你实现了;如果钱足够多,会教你是如何一步一步实现的

出0入0汤圆

发表于 2019-12-23 09:47:25 | 显示全部楼层
我也很想入门啊   苦逼

出0入0汤圆

发表于 2019-12-25 07:52:11 来自手机 | 显示全部楼层
多实践多思考才是唯一的出路。

出0入4汤圆

发表于 2019-12-25 10:01:49 | 显示全部楼层
代码一行一行编, bug一个一个找, 这本来就是一个长期复杂繁琐的行为, 需要不懈的努力, 不断的学习, 吃喝拉撒时脑袋里都要想着debug.

出0入8汤圆

发表于 2019-12-25 14:15:16 | 显示全部楼层
说再多都不如自己写一遍  当项目经验多了  好多事情都会变得简单了~~ 不然连点个灯都好难 ~~~ ( 亮灭  有规律的亮灭  渐渐地亮灭  组成平面的图案 字符  立体图案字符  有灰度的图案字符 彩色的图案字符  立体的图案字符 ) 这里但但一个io操作就可以演变出好多东西了  写程序的人啊 除了特定的固有模式 还有创造力才行~~~

出0入0汤圆

发表于 2019-12-25 21:48:21 | 显示全部楼层
51资源少,当然用起来没arm好使

出0入0汤圆

发表于 2020-1-1 21:49:25 | 显示全部楼层
Doding 发表于 2019-12-13 10:25
各种嵌入式原理的书里基本都有吧,不过打好基础更重要。
论坛里傻孩子的书,就是非常好的资料。 ...

傻孩子的书是什么书呢

出0入0汤圆

发表于 2020-1-2 09:10:46 | 显示全部楼层
rclong 发表于 2019-12-13 09:48
但我依然觉得51单片机上缺乏系统的进阶教材是我们必须面对的事实
无论是原厂的手册,京东当当上出售的图书 ...

那就不要纠结51啊  直接上STM32  我最开始接触的是AVR  现在只用32了

出0入0汤圆

发表于 2020-1-2 09:49:03 | 显示全部楼层
cpumaker 发表于 2019-12-12 22:10
51的架构太旧,有不合理的地方,还不如现在流行的8位单片机容易上手。另外没有仿真器,调试也不方便。 ...

串口就能跟,还要啥仿真?

出0入0汤圆

发表于 2020-1-2 09:56:49 | 显示全部楼层
rclong 发表于 2019-12-13 16:59
为什么这么说呢?
我看正点原子的教程里依然是建议通过学习8bit单片机入门之后再学习STM32

上家公司,别人用STM32没干出来的项目,我用51干出来了,所以,你的执着是对滴 。。

出0入0汤圆

发表于 2020-1-2 10:05:52 来自手机 | 显示全部楼层
我最早在学校学的z80,工作后学习51,8086,用的是汇编,现在用的stm32.

出0入0汤圆

发表于 2020-1-2 10:07:59 来自手机 | 显示全部楼层
关键的是数学要好,要有解决问题的思路,单片机只是个工具

出0入0汤圆

发表于 2020-1-2 10:10:12 来自手机 | 显示全部楼层
就像汇编,c语言,都是工具.工具嘛,哪个顺手就用哪个。

出0入0汤圆

发表于 2020-1-2 10:14:49 | 显示全部楼层
不怪51,怪你半路出家

出0入0汤圆

发表于 2020-1-2 10:23:29 | 显示全部楼层
myemcu 发表于 2020-1-2 09:49
串口就能跟,还要啥仿真?

我现在习惯串口打印消息  也用断点仿真

出0入0汤圆

发表于 2020-1-2 10:23:50 | 显示全部楼层
一步一步来,静下心来,先搞懂别人的DEMO,再搞自已的代码。。。。

出0入98汤圆

 楼主| 发表于 2020-1-2 13:01:18 | 显示全部楼层
markdif 发表于 2020-1-2 10:23
一步一步来,静下心来,先搞懂别人的DEMO,再搞自已的代码。。。。

我在这个帖子里很多回复就讨论到现在比较缺乏优质的"别人的demo"
我看国内各社区流行的技术文章好多都是翻译自国外的资料
按理说国内开发者众多,开发年限也长,可是却很少拿出来炫耀的项目

出0入50汤圆

发表于 2020-1-2 14:18:50 | 显示全部楼层
我也是半路出家啊,嘿嘿,上了这条高速十几年了,再过十几年要找出口下去了。

慢慢写,慢慢会总结出适合自己的路的,别跟赛车高手比哈

至于别人的demo,尤其是那些开发板的demo,感觉没几个是认真写的。

出0入0汤圆

发表于 2020-1-2 14:20:15 | 显示全部楼层
本帖最后由 zly_1980 于 2020-1-2 14:21 编辑

楼主你想复杂了,开始先写个死循环,再把功能一点点往死循环里面加,
如果里面有复杂的计算或操作,需要利用单片机本身的硬件资源实现非阻塞的异步操作,实在无法分解也无合适的片内硬件可利用需要用所谓的状态机去做(简单的比如按键去抖动可以是sleep也可以count++)。
简单点就是保证你的程序死循环里面每次运行的代码都不可以太耗时,否则一个循环好几秒出不来就会失去实时性,连按键都无法响应。

出0入98汤圆

 楼主| 发表于 2020-1-2 14:29:49 | 显示全部楼层
zly_1980 发表于 2020-1-2 14:20
楼主你想复杂了,开始先写个死循环,再把功能一点点往死循环里面加,
如果里面有复杂的计算或操作,需要利 ...

我觉得复杂一点的程序其实比较依赖设计和框架,
程序设计和框架是可以由专门的人来设计(比如MCU原厂或者资深MCU开发者)
其他人在这个框架里写自己的任务,就能保证你的程序是有依据的
比如国内比较受欢迎的<时间触发嵌入式系统设计模式>一书就起到类似的作用

我是想从我主楼的例子引出现在国内非嵌入式程序开发者(比如ta可能原来是做仪表的或者用PLC做工控的,或者做电源的硬件工程师)
在独立开发某些带MCU项目的时候,因为资料的缺失和交流的缺乏,常被迫做很多低效的重复造轮子
我觉得以现在嵌入式开发者普及程度来看,我们应该有许多方便的框架和库直接调用才对.

出0入0汤圆

发表于 2020-1-2 15:48:59 | 显示全部楼层
其实不单止51,高级的mcu也一样,主要是没有一个操作系统的支持。因为定时刷新,定时采样,数据处理,和别的机器通信等,很多都是中断方式的发生的,比较难处理他们之间的关系。
人的思维是串行线性的,但这些事件是并发的,没有操作系统的事件支持,这些程序很不好写。有了事件支持,各个事件模块各管各的,运行完,需要显示/通信,扔给操作系统的队列了事,做完的,也回操作系统了事。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表