【有奖征集】分享你的开发故事-活动已停

  [复制链接]
yyi | 2023-9-15 16:54:47 | 显示全部楼层
       我是研究生调剂到电子信息专业才开始接触嵌入式的,可能起步比较晚。然后是在B站上看江科协的51单片机,从点亮一个LED灯开始,然后去看数据手册,了解单片机的使用,并且在使用中思考发现问题,还能熟悉一些基本概念,中间穿插着学习了模拟电路数字电路。
       接着是买了F103CT6的最小系统板学习stm32,这时候你会遇到很多计算机方面的问题,你要弄清楚 ARM 架构,弄明白 CPU 如何取指,译码,执行,知道地址总线,控制总线,数据总线如何工作。要知道GPIO的8种输入输出模式,中断的原理,DMA的数据存取以及常用的通信协议usart,iic,spi等等。da当然以上还只是裸机的内容,要想充分利用单片机的CPU,我们还得学习操作系统。我是选择的freertos,它是免费开源的,跟着野火的视频学的。从了解堆栈开始,然后明白进程是什么,程序是什么,线程是什么,原理弄通了,就去读源码,最后自己仿照freertos写一个 stm32 上的实时os出来。
      现在买了一块正点原子的阿尔法Linux开发板,开始跟着正点原子的视频学习。后面有时间计划把QT也学习下。只能说嵌入式要学的东西太多了,要学电路,计算机原理,数据结构,C语言,操作系统,而且真的很费钱。但只要坚持下去,一定会有收获的。
回复 支持 反对

使用道具 举报

吴俊伟 | 2023-9-15 17:03:42 | 显示全部楼层
本帖最后由 吴俊伟 于 2023-9-18 21:02 编辑

为了这块开发板,我从我大学回忆到现在。
比如大学在实验室,把电源接反导致电路板的铜皮都炸飞了,emmm在手里炸的(还好手没事)。还有临近比赛的时候,电路板备用板和正在用电路板都不好使了,拉着我两个五十多岁的指导老师,陪我熬夜修电路板(我觉得我愧对我的老师,因为他们领的学生都去读研究生了,就我自己一个小本科 。。。哈哈)。
毕业之后,没有直接去干研发(这个因为当时毕业觉得自己太菜了,所以我都不敢去报研发岗位),报了一个工艺岗位,修了一年多的仪器、电路板,维护别人的代码,最近终于终于转入到了嵌入式开发,发现要学的东西数不胜数(奉劝各位大学的朋友们,珍惜大学时间!!!!)。
最近进行项目开发,碰到了各种问题,比如仪器要联网,看同事都用ESP32-12F,来安信可的论坛找找有没有好的帖子。还有需求仪器要和上位机联调,什么蓝牙通讯、WiFi热点通讯都在尝试,还要FreeRTOS上移植FATS,增加EMMC、USB、TF卡等存储,一起用。本人水平比较低,再加上大学学习的硬件,所以软件开发对我来说真的很麻烦。软件的使用,程序裸机还有库函数啥的,一点一点琢磨 真的是脑壳痛,但是最好半成品出来的时候 。贼爽!!成就感爆棚!!
唯一后悔的就是大学的时间没有好好利用,现在真的是幸亏领导允许鼓励学习,要不然真的是一个人当两个人用,都学不完。什么正点开发板,野火开发板  linux开发板  都买了 ,差生文具多吧,钱都花了,逼着自己去学习(比较抠门,所以花了钱 必须要学会 ),也想去找个培训班提高一下自己,感觉要学的东西太多太多了,学不完,根本学不完啊
因为现在手边上都是公司的电路板和程序,就不拍照截图了。
回复 支持 反对

使用道具 举报

wsqdj | 2023-9-15 17:24:07 | 显示全部楼层
file:///E:/Desktop/QQ%E5%9B%BE%E7%89%8720230915172800.jpg思来想去发现我似乎没啥故事,那就说说我第一个项目是怎么烧的单片机吧;作为一个纯机械的学生,自学单片机确实有点老火,大一我有了人生的第一台电脑,也是我第一次接触电脑(以前确实是沉迷于手机,电脑都不怎么会,仅限于电脑课的内容),而直到大三才开始为了打比赛开始学单片机;
先买了51,然后看了两节教程,实在没兴趣,直接上32了,为了省钱没买原子,买了普中,大概连续看了一个星期的32教程,准备开始做一些小项目,这期间还学了一点openmv(传统识别对我来说没有库的帮助就很难了),从学长哪里弄了一个K210,因为openmv和K210差不多所以对我来说上手难度不高,所以我就直接另外买了两个舵机,建模支架自己打印出来,用32做舵机驱动,做了一个云台;
当时的电路知识确实很匮乏,因为想云台要脱机运行,然后我就必须要把电池直接接到最小系统板上,之前用的都是link接到板子上,所以没出事,然后我看link上有5v和3.3v引脚,我就猜想,这个输入电压就是差不多在5v左右,正好手边有个电池盒子,装了四节南孚,我想着是4节电池差不多就是5v,然后经过稳压就稳到了5v,然后板子取电带两个舵机和一个k210应该没事,然后我把电路搭好,接上电池,开关一打开,32芯片轻轻的啪一声就冒烟了,吓得我直接把杜邦线全拔了,事后看原理图才发现,排针的输入是直连芯片的,而调试的引脚过了稳压芯片所以可以接5v,之后我就在也不敢这么直接板子接电源了,舵机也不在芯片引脚上取电了

QQ图片20230915172739.jpg QQ图片20230915172800.jpg
这就是我的第一个项目一个两自由度云台

回复 支持 反对

使用道具 举报

天地豪行 | 2023-9-15 17:39:16 来自手机 | 显示全部楼层
今年已经是大二学生了,学自动化的。
在高考之前,我从来没有想象过会选择自动化专业,报考的时候也是懵懵懂懂,对于专业相关的了解比较片面。
我的开发之路开始的比较奇妙,我在这之前对于单片机是一无所知,机缘巧合下了解到了一个社团,然后在室友的影响下加入了这个科技类社团,接触到了单片机,也就此开始了开发之路。
我的第一个项目是平衡小车,在制作平衡小车之前已经学习了51和stm32,然后又学习了一些相关模块的使用知识,这些内容掌握较快。但是在调pid的时候真真正正遇到了困难,整整一个星期的闲暇时间,都在研究pid控制算法。
功夫不负有心人,最后也是成功做出了平衡小车。
回复 支持 反对

使用道具 举报

海止雫雫 | 2023-9-15 17:43:12 来自手机 | 显示全部楼层
说翻车,经历还是很多的从第一次自己做了个WiFi杀手啥都焊好了结果焊的时候搞掉了板子上的一个元件然后就没法烧录固件了当时还为这个烧入不进去很苦恼(虽然现在也没搞明白为什么),总之就是没有继续搞了,然后就是心血来潮买了块开发板很小巧,就想自己做一个迷你键盘加鼠标,一开始是想用移位寄存器搞的但是一看感觉搞不懂,又看有什么开发板可以当主控,看来看去最后选了air32f103那个,然后就开始打板子用的那种微动开关做按键的,焊起来和用起来真的痛苦,还有就是画PCB的时候把某个按键放歪了,强迫症看起来真的受不了,又去打板,那个时候检查的很好啥都没有歪也没缺,结果打了之前那一版,拿到手的时候都怀疑人生了直接裂开,然后不知道过了多久买了个黑莓键盘做了一个键盘就结束了(很离谱,自己做东西就没成功过)之前还做过盖革计数器,直接被高压包点了一下最后不知道怎么了,开机了没几分钟就烧掉了,很倒霉就是了不过扩展板倒是很成功,最近在做orangepizero3的扩展板
回复 支持 反对

使用道具 举报

dmdll | 2023-9-15 17:57:23 来自手机 | 显示全部楼层
还记得第一次玩的开发板是51,从点亮第一个led开始,简直神奇,设置高低电平就能把一个小灯控制亮灭,打开了新世界的大门。
现在也就做做简单的小实验,从最早的keil到现在的arduino,从51到stm,到现在用esp比较多,开发速度效果demo演示快,也有联网功能,简单的需求几乎都能满足。
最近一次开发一个简单的测距功能,以前一直能跑的源代码居然开始不能编译了,查了半天不知道为什么,还特地换了好几台电脑试了下,也还是不行,那真是气的,一晚上没睡,怎么好好的代码,不能编译了。后来一查arduino更新了,板子选项换了,真是无语。
回复 支持 反对

使用道具 举报

luanxiu | 2023-9-15 18:11:21 | 显示全部楼层
    那就要提一下今年我的电赛经历了,原本准备了是无人机方向,结果他今年题目要求与小车结合,工作量太大,不仅无人机要计算航程,还要和小车通讯,火源也要自己做,而uwb这个东西我们也没了解过,实在是没什么优势,只无奈能放弃。

提前准备的无人机

提前准备的无人机
IMG_20230801_095334.jpg

openmv的未知bug

openmv的未知bug

做图像识别的时候openmv的帧率显示bug
    控制题是可以做的。但是呢,好几个小车组都转去了控制题,太卷了,根据整个赛道情况分析,最后我们决定选择信号题,我朋友是电信的,对信号比较了解,而我则是软件工程,纯计算机,我对硬件的了解也只是热爱,对于信号处理属实是处于知识盲区了,还有一个队友是新生指望不上。原本准备了一个多月,想着大干一场,结果最后只能摸摸鱼 当然也不是躺平,最后还是挣扎了一下做了点硬件,现学了一下fft,写了一下文档,只是说有点遗憾罢了。

电赛最终成品

电赛最终成品
最终成品 两路信号由加法器混合,经过f407自带的adc采样,fft计算,算出初始频率,由dds重现。效果一般般,软锁相环锁不住,频飘没能解决,只能说哪儿哪儿都是坑
回复 支持 反对

使用道具 举报

好纠结 | 2023-9-15 18:18:41 | 显示全部楼层
我也不算是什么大牛,就是个刚上大二的通信工程学生,也没参见过什么项目,就讲一讲我大一接触单片机的经历吧
大一都没啥专业课,我也对专业没什么了解,大概去年十月份学校宣传蓝桥杯,我在学委的推荐下报名了蓝桥杯单片机,因为报名费太贵了,学校一开始说只报销省二以上的,为了拿回300块,寒假的时候每天俩小时左右,干了俩月,对单片机有了个初步的了解。最后也只拿了个省三,离省二差十几名,为此我还emo了一晚上。但是学校最后给拿奖的都报销了
回复 支持 反对

使用道具 举报

qianliyuan | 2023-9-15 18:26:29 | 显示全部楼层
一个四十岁才开始学习嵌入式的我,一个自学了三年嵌入式的我来分享一下我自己设计的ESP01S开发的小模块吧,有一天,我在网上买了一个带灯的小鱼缸,只有开关和流水。 鱼缸.jpg
好,改进一下吧,于是我就设计出了我人生的第一块电路板。
微信图片_20230915183259.jpg 微信图片_20230915183254.jpg
对,就是ESP01S的,用的点灯科技的arduino库编写的,兴奋呀,成功了,支持小度及天猫精灵。
再说说翻车吧,这图片上的是最终版的,之前第一版的ESP01S插口是反的,反的,一不小心插反了,唉!烧坏了我两个ESP01S,我的天吧,设计需谨慎呀。
现在这版已经完美了,小度可以喊开关,还有加上小度的人体感应器,每天21:00-23:59,当人体经过感应器时,自动开灯,10分钟后自动熄灯,如我心愿了。
回复 支持 反对

使用道具 举报

谢皮卡 | 2023-9-15 18:38:21 来自手机 | 显示全部楼层
我最近在学习STM32芯,尝试使用C语言来进行编程。在实现一个5s LED常亮的示例代码时,确实遇到了一些调试困难。最大的困难在于对STM32的外设不太熟悉。这个芯片相比51单片机多了很多寄存器,但对于入门者来说,这也增加了学习难度。我在使用定时器和GPIO来控制LED时,也遇到了一些问题。
首先是定时器,STM32有多达14个定时器,功能复杂。我查阅了不少参考手册,才弄清楚定时器3最适合此用途。配置定时器寄存器也花了一番功夫,调试了几次才得到50ms的中断间隔。
然后是GPIO引脚的配置,不同的STM32芯片GPIO端口有所区别,我找了老师的示例代码参考,也多次尝试,最后才成功将LED与GPIO正确连接起来。在调试中,我还发现C语言在linux编程时和PC开发有点不同,需要注意一些硬件相关的优化。
回复 支持 反对

使用道具 举报

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

本版积分规则