楼主: 点灯大师

嵌入式(单片机)实习和工作日记

[复制链接]

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:48:15 | 显示全部楼层
1.10日 开始慢慢适应了工作的习惯。有时候看的累了,喝口水,去个厕所,稍微眯一下眼睛。没有来的时候那么大的压力,一直死死的盯着电脑,即使根本看不进去也在盯着。今天主要研究了汇编的定时器用法,搞的差不多了,明天再问一下领导问题,应该就差不多了。还是那样,问领导问题依旧慢慢吞吞的不好意思问,哎。下午工作的时候,由于中午没怎么睡,好困啊,差点就睡着了,赶紧跑去厕所洗个脸。每天长时间的看电脑,下班之后是真的不想再接受辐射的摧残了。可是又没什么好玩放松一下。今天好冷啊,连大广场都没去散步了。感觉自己写文章好烂啊,一段一段的,哎算了,记录一下。什么时候才能自己做出个遥控器出来啊,继续加油继续加油。

PS:哎呀怎么突然就到了1.12了,昨天忘记更了哎呀。
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:48:31 | 显示全部楼层
1.12 诶,今天有意思了,领了两个大件装备,示波器和稳压直流电源。这在学院可是可是稀有装备,经常参加电赛的当我没说。其实早在上班前几天也领了一个装备-万用表。这可不是我在某宝买的20多的万用表,一看就是那种高大上的。前两天不是在搞定时器嘛,今天经过领导的知道后,终于可以发射一段方波了。怪我土,没用过示波器,搞示波器搞了半天,最后还是领导过来教我的才会的。最后在领导的指导下成功的发射出来。接着就是开始制作红外遥控器了,准备了一个红外接收头和一个现成的遥控器,由于红外接收头需要3-4v的电压,就搞了个稳压电源。顿时我的桌面有了一种大工程师的高级感,我看着这些装备,想着不搞点东西对不起这些装备啊。结果我就开始搞这个红外接收器。今天不知道为什么领导经常走过来问指导我,可惜,红外遥控这个我在大学没接触过过。得先了解一下原理,结果领导过来给我讲了一堆编码的东西,我是一脸懵逼,还得嗯嗯嗯。今天在领导那边发现原来有一种简单的类似示波器一样的东西,也是可以检测波形,但是在电脑的一个软件上显示的。以后回家自己搞一个(示波器太贵了,买不起......)。接着就是自己研究,红外好像是很简单,但是我今天晚上21:30才搞懂了,然后高兴的过来更文。搞懂的感觉真好。今天还有就是居然有零食可以吃,还有烧猪,真不错,前面还不好意思去拿,后面不是领导一直在教我那个红外遥控器的编码嘛,然后领导就喊我去,我就去拿了一个试了一下,诶真不错。对了,晚上傻逼逼走了2公里去附近的健身房看了看,走到一半才发现我们公司旁边的公交车和我擦肩而过,血亏。结果到了不知道为什么又没上去(神经病),在附近吃了碗面就回公司看视频继续学些了。明天继续加油,早日做出那个傻鸟遥控器。(对了我的汇编大法书到了)
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:48:48 | 显示全部楼层
1.13日,好快啊,明天又到了星期五。今天感觉工作正式步入正轨了,怎么说呢。基本的语法和要做的项目原理大概都了解的很全面了(红外遥控)。今天一天都是在写代码和调试,话说这汇编是真滴麻烦,一条在c语言简单的赋值,就要整好几个语句,又要压栈保存,过一会又要出栈调用,麻烦的很。不过有一点好处是,代码语言都很直观,就像你写代码的时候思考的习惯要和机器一样,你可以领悟这一条条语句的原理作用。可能我表达不是很清楚,就举个例子吧,举得不好大家别怪。像stm32的按键为例子,你要先初始化按键io口为输入,然后设置上升沿或者下降沿触发,又是什么端口配置啊,最后在初始化一下gpio啥的。然后后面还有个按键检测函数来调用。我现在做的这个汇编,就很单纯,设置io口为输入,其实就是设置一个寄存器的一个位为0,然后直接把数据寄存器的值读取出来,如果读到的是0,那就是按下,没读到就循环检测,就几行代码。
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:49:03 | 显示全部楼层
我不知道我表达的大家能不能理解,毕竟我也刚接触汇编没多久,见谅。但是呢简单有简单的,麻烦的还是多的,就像上面的赋值一样。不止这个还有延迟函数也是,在32里面直接调用一个延迟函数,往里面赋值就好,结果虽然不是很精确,但是也差不了多少,想要什么就赋值什么就好。在我这个4位机里面,延迟要算的,按照机器周期一个一个算,我滴妈啊。而且你比如说要10us的延迟,你写好后,你又想用15us的延迟,你就得重新再写一个。可能有什么简单方法,但是我现在用的就是这个,有大佬教教有其他简便方法吗。(PS:我这个4位机是没有乘除的,领导说好像是可以自己编写一个,但是我不会)。我看了我领导的代码,他的延迟函数就是直接top,比如要个50us,他直接就写了25行的top.........按他说,这样多简单,也对,不用自己算。
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:49:21 | 显示全部楼层
今晚不知道为什么没有啥学习动力。看了会B站,刷到一个小朋友背古诗的一个视频,撒贝林主持的。看的我是激动不已,感觉自己是个fw,不行,然后感觉跑去学习了,顺便写了下文章。现在是1.13日晚上9.30,洗完澡再看一会吧,然后睡大觉。晚安,各位,明天又是美好的一天(秃头的一天)
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:49:38 | 显示全部楼层
1.14日,今天问了领导一个问题,但是领导好像比较忙,然后就忘记了,感觉怪尴尬的。后面慢慢没啥大事就简单写几句哈。晚上为了庆祝周末准备和朋友出去玩,去公司附近的沙县小吃点了份鸭腿饭,又买了一些面包。结果第二天,也就是星期六上吐下泻,我滴妈啊,难受死了,玩也没玩好,吃也没吃好。奉劝以后即将步入职场的同学们在外面吃东西真的要小心再小心,因为不像学校,你生病了就可以随意的请假。像我如果是工作日突然这样,我一个刚来半个月的实习生该咋办啊。所以啊,我觉得宁愿吃美宜佳的包装食品也不想再去外面吃了,除非是自己考察过确实干净一点的地方,不然还是注意一下吧。
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:49:55 | 显示全部楼层
1.16周日晚上,和朋友聊了一会工作上面的事情,我有了一些领悟。就比如我现在在开发的红外遥控器,其实难的不是红外遥控器这个项目,难的是用汇编来开发和项目的原理的熟悉。其实我想了一下如果给我用我最熟悉的32来开发我可能只需要几天时间,即便是很久没用的51估计也就多个2-3天。上班做项目的时候我很多时候其实是项目原理都不太清楚,然后在编程里面边敲代码边熟悉,本来编程方面就不太熟悉,还要去用来熟悉项目原理。我这说的熟悉项目原理,怎么说呢,类似调试一下吧。而且我带的32开发板一直没有用到,之前看视频就只是看而已,没有加以实践。并且我认为在学习汇编的时候不能忘记以前的老本行(C语言,毕竟不可能以后都用汇编来开发,效率太低了)。所以我决定了以后下班的时候用32开发板来学习工作上的项目,然后上班的时候研发的逻辑思路清晰了,就可以慢慢的码代码了,而不至于坐在那不知道干什么(因为你不知道原理的话根本无从下手)。md,沙县小吃不共戴天,肚子还是难受啊
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:50:15 | 显示全部楼层
今天初七,收拾了一下出发回公司。公司放假是在2.21日,和上次更新的1.16日差了差不多一个星期没更。那段时间其实也没什么特别的大事,就是一直在进行红外遥控解码。代码整体思路,写法已经很清晰了。但是架不住代码量多,老是测试失败,失败了又调试查找。一直重复的修修改改,到放假的最后还是没有调试成功。在最后一天,我领导和我聊了一下,我发现我有一个比较严重的错误,就是一直在写代码,代码写的老长老长,但是却没有检查单一的算法是否正确。前面和大家说过,我这个单片机是4位的,而且没有乘除和一些高级的算术。这些都是要靠自己。比如你要自加一个数,你只能加到16位,再往上你就要再创建一个变量,就是一种循环嵌套。还有自加,加到一定的数进行判定等等一些简单算法。这些用c语言来做可以说十分简单,但是用汇编的话却有点复杂。又长又复杂导致我花了好几天调试无果。最后领导和我说,我们做项目代码很长很大,不好修改,如果一个地方错了,我们往往要花费许多时间。但是如果我们把整段代码的一些重要的函数或者算法给我保证写正确了,不会出错。那是不是我们再检查的时候就会简单很多,而且编写代码的时候也不会那么容易出错,而且查找半天也查找不到。那天我就开始一个一个的测试我代码段里的一血小算法,唉,发现好多算法都是错误的。不过那天是最后一天,最后还是没有完成。
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:51:19 | 显示全部楼层
今天是个特别的日子,经历了差不多1个月的时间我终于做完了一个小项目吧,也可以称为第一个任务吧。
1744015832362.jpg
任务就是,控制这个遥控器输出的4个按钮,一个发送高电平,一个发送低电平,一个是按一下发送高电平,再按一下发送低电平,最后一个是,按一下输出百分之20owm,两下输出百分之80pwm,三下输出百分百pwm,四下是输出低电平。可能大家学过单片机的都会觉得很简单吧。确实,听起来确实简单。再看下面这个图
1744015861459.jpg
回复

使用道具 举报

1

主题

36

回帖

82

积分

注册会员

积分
82
 楼主| 发表于 2025-4-7 16:51:36 | 显示全部楼层
写完之后我将我的代码复制到word里面查看,才知道我写的代码比我想象的还要多。这里面之复杂我就不细细说了。这里说的只是复杂,并不是难易。难度来说我觉得其实真不难,原理搞懂了其实真的很简单。主要就是麻烦,容易出错。一个错误我往往要调试好几天。现在还好,如果出错了的话,不需要几天这么久的时间,但是还是很费时间。而且一个错误一直得不到解决就会很烦,大家可能会说解决不了可以去问啊。对的,以前确实可以问,因为那是一些规则,语法上的问题。但是到后面,尤其是汇编代码,你喊别人来看你写的几十行代码,甚至几百行代码,除非是那种特别特别的大神,而且前提是他还得花些时间来看的情况下,才可能看的懂。其实我觉得写汇编的人,出现bug一般都是自己调试出来的,真的会很少去问人那种。
回复

使用道具 举报

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

本版积分规则

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