从来都是潜水, 不怎么发帖子. 今天突然来兴趣, 想到什么 就写什么, 算是给新人一点建议吧.
作为已经编程差不多十来年的老码农. 从51到各种各样的单片机, 然后是arm7 arm9 到dsp, 随着 M3的流行, 现在做项目 基本都用这芯片了.
我一直觉得, 用什么芯片 仅仅是工具而已. 根本就不需要学. 或者说, 压根就不需要 花大精力去学. STM32的芯片的 外设 时钟 等等,这些 做过一个项目 就会了. 或者 用到的时候,再去看 芯片说明书就行了.
这里很多 都是 学生, 看论坛, 提的问题, 都是 一些 很基础的芯片使用问题, 当然 从论坛角度, 是该去问 去交流, 但是 我认为, 从学习角度, 太基础的东西,不要来问. 有问题, 看书去.自己去解决. 如果 这么 基础的问题
都不会, 说明你的基础很成问题.
前几年,也作为 面试官,面试过 不少 应届的毕业生. 一看简历, 会用什么什么芯片之类,作为什么什么项目, 其实 我压根不看简历. 会什么芯片,这种东西, 1个芯片, 基础好的人, 1个礼拜 半个月就会了.
我说的很乱. 想说什么呢, 其实我想表达, 作为学生, 先把 基础学好. 尤其我们这个专业的. 什么是基础, 那就是C语言, 和 模拟电路 数字电路. 磨刀不误砍柴工, 你基础没问题, 会对你的学习新东西 和工作 带来很大的便捷和效率.
面试的时候, 我会要求给 对方提这样的问题. SPI 4线协议, 任一种方式, 我要发送 0x55的数据 . 请画出 4线的时序图, 并解释. 或者 提问 C语言中的 各个符号的 优先级排列. 又或者 变量的几大属性分别是什么 并举例解释说明 等等
所有 所有这些基础的问题, 书上 全部有. 全部是作为基础的细节问题.
C语言 博大精深, 看一本够了? 远远不够, 几本名著 都是要看的. 学了C语言, 只是相当于给你做菜的原料而已, 至于菜好吃不好吃, 又是另外一回事了 . 编程原理,软件构架,面向对象,还有 细化点的, 对于你自己编写的程度, 那一段的代码 带宽高,哪一段带宽低,又或者怎么写占用MCU的计算资源多,怎么写,可以占用少点, 自己写的代码功能性没问题,但是 稳定性呢还有性能呢 等等, 这些也需要学习进化.
写50K的只能自己看懂的乱七八糟的代码, 还不如 去看人家 大牛的编写的10K的代码. 看人家 实现功能,是如何构架的,如果处理的 等等.
会STM32F103 算什么? 工作的时候, 用什么芯片不是你决定的, 换芯片怎么办? 换飞思尔卡 英飞凌 呢?
工作的时候, 一个通信不行, 这个时候, 只能自己去用示波器 自己去看引脚的时序图, 这些 都是基础, 在工作中, 老是问别人 基础的东西, 别人会烦 也不会教你, 实习期 老是问这样的问题, 用人单位 会 怀疑你的能力. 相比较 你会很多芯片,但是基础马马虎虎, 我宁可寻找 基础牛逼, 但是 芯片只会一种的人. 哪怕只是会 51单片机.
连一个 简单的数据冒泡排序写法, 都还要 百度的人, 简直基础 一塌糊涂.
连一个 C语言文件,编译的时候,相互之间调用关系都搞不清楚的人, 简直基础一塌糊涂.
连一个简单的PWM转模拟输入 或者转 模拟输出电路 都看不懂的人, 简直 基础一塌糊涂.
.....
我曾经面试过一个应届生,话说 做过 什么什么小车 什么什么听起来很牛逼的项目的人, 结果 我给了一个 电路图, 就问他, A引脚输出 高电平 还是低电平 , 电路的那端 输出有效了. 其实 就是一些NPN 和PNP 三极管 之类的电路图而已.
还有 给你一个电路. 运放电路, 让你计算 采样端和 芯片引脚之间, 电压放大还是缩小了, 放大几倍或者 缩小了多少, 那人 直接懵逼. 不知道.
你说,如果你是面试官, 这样的基础的人, 你会采用么?
论坛很多的帖子, 答案都在 书上, 又或者 都在芯片说明书上, 自己为什么不去找呢, 学这个专业的, 尤其不能浮躁, 书一页一页看, 仔细的看, 急不得.
学弟学妹们,一句话, 基础很重要!!!!!
别太沉迷于学习芯片, 芯片是最不重要的.
C语言不过关, 连看 STM32F1的 官方库, 都会卡主. 不知道人家 的库是 怎么构建的.
C语言不过关,连编译出现的各种 警告 都会看不懂, 也不知道 怎么去解决
C语言不过关,看大一点的程序, 都搞不清楚 程序的流程了..
看起来,好像 都是 你学习STM32F1过程中 出现的问题, 其实这锅 不应该STM32F1来背, 是你的基础 太马马虎虎了...
|