初学嵌入式是弄linux还是单片机?

d6b4dff8aa80c9dae397f5375362f4c8.jpeg在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」,

点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!1、先入门了51先学了89c52,20年底买了普中科技的板子,利用大二寒假学习,看他们的视频,看到了串口,然后搭建洞洞板电路做了一个手机蓝牙遥控车;开学后再学了Altium Designer,学了目前比较常见的stc15芯片,阅读芯片手册的重点章节并做了笔记,暑假搭配新学的电路做了个2.4G无线遥控车;秋季开学后偶然发现学校贴了个第13届蓝桥杯大赛的海报,惊喜地发现正好是熟悉的内容,于是决定报名,由于犹豫该报嵌入式还是单片机,我买了野火的mini开发板试着学了一下stm32,但是感觉特别难学不会,于是报了单片机开发组。然后买了官方开发板,看小蜜蜂老师的教学视频课学习,由于比赛恰好是用stc15,我正好有基础所以上手很快,新学了几个外设,就搁一边了(后来拿了个国一);之后学了stc8芯片,用官方库建立项目,适应了这种分很多文件的项目风格,然后学了个Keil自带且专门给51单片机用的操作系统——rtx51,对操作系统的任务调度过程有了直观认识,然后用这些知识做了个音乐播放器。本来想往音乐播放器方向研究的,但是发现在硬件上涉及很多模电知识,于是在寒假开始重学模电,只学到mos管就半途而废了。这两年新出的stc32g芯片我也试用了一下,然后对51的研究到此暂停。2、搁下51学stm32不久偶然接触到感兴趣的团队项目(模型控制器),被迫转32位机,认识到32位机的世界比51精彩太多了,尤其是st的生态,各种sdk工具各种高端芯片各种学习资源太多了。然后开始狠学,学stm32,学FreeRTOS,未来还想学LVGL。由于有51和RTX51的基础,32位机和FreeRTOS的入门比较轻松,反而是感觉找到合适方法的过程比学习知识本身要难。这段时间我首先是用着之前有的野火开发板,看小蜜蜂老师的HAL库+STM32CubeMX视频课,这位老师讲得很好,看完感觉大致有数了。然后继续入门,由于之前看野火的视频课没看懂,于是去看正点原子的视频课,但是发现视频课只有标准库的没有HAL库,于是开始看野火的文档。后来越看越迷糊,因为野火的HAL库教程文档对寄存器是点到为止,而HAL库对底层封装的层数太多了,对底层原理不了解就心里发虚,感觉不会用。加之跟着文档学很枯燥,于是决定跟着正点原子的视频学标准库,并淘了一个二手战舰开发板。这期间理解外设的寄存器原理,但不用掌握,在了解寄存器的基础上重点去学标准库的使用,心里踏实了不少。至此算是找到了入门的方法。因为有了51基础,加上b站视频课可以发弹幕,大家在弹幕里对于难点发表自己的看法,因此学起来很有动力,学习进度也很快。在大四上学期系统学习了正点原子的标准库教程后,之后在毕设驱使下完成了一个电池管理系统的项目,自己画了板子写了程序做了APP,至此算是入门了stm32。3、有时间有兴趣就穿插学了ESP32完成了毕设后,开始想diy一套使用显示屏无线控制车模灯声的项目,发现在这种无线领域使用ESP32是性价比很高解决方案,于是使用Arduino平台快速学习了一下ESP32。4、未来想学linux大三时期了解到嵌入式Linux这个方向,看网友推荐买了一块STM32MP157F-DK2官方开发板,尝试了一下入门,但是感觉这款开发板资料都是英文看着很累,而且资料特别少,双核的芯片结构也巨复杂,于是入门失败搁置了。最近大四毕业了,剁手又买了块韦东山的imx6ull带屏开发板,这款的芯片是单核的,感觉比双核的更适合入门,毕竟一上来不能太难容易劝退。这款开发板的资料就多多了,也有视频教程。等玩完了ESP就打算系统学习一下。我个人觉得要一步步来,挑感兴趣的优先学,只有真正接触过才知道好不好,所有的弯路都会转变成经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/372214.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

绝地求生PUBG没有开始游戏按钮的解决办法

绝地求生是一款特别热门的战术竞技型射击类游戏,游戏中玩家需要在游戏地图上收集各种资源,并在不断缩小的安全区域内持武器对抗其他玩家,让自己生存到最后。当游戏最后场上只剩下一支队伍的时候即可获得游戏胜利。然而一些玩家在游玩绝地求生…

@react-google-maps/api实现谷歌地图中添加多边围栏,并可编辑,编辑后可获得围栏各个点的经纬度

先上一张效果图 看看是不是大家想要的效果~ ❤️ 由于该功能微微复杂一点,为了让大家精准了解 我精简了一下地图代码 大家根据自己的需求将center值和paths,用setState做活就可以了 1.第一步要加入项目package.json中或者直接yarn install它…

Powershell 获取电脑保存的所有wifi密码

一. 知识点 netsh wlan show profiles 用于显示计算机上已保存的无线网络配置文件 Measure-Object 用于统计数量 [PSCustomObject]{ } 用于创建Powershell对象 [math]::Round 四舍五入 Write-Progress 显示进度条 二. 代码 只能获取中文Windows操作系统的wifi密码如果想获取…

论文解析——Full Stack Optimization of Transformer Inference: a Survey

作者及发刊详情 摘要 正文 主要工作贡献 这篇文章的贡献主要有两部分: 分析Transformer的特征,调查高效transformer推理的方法通过应用方法学展现一个DNN加速器生成器Gemmini的case研究 1)分析和解析Transformer架构的运行时特性和瓶颈…

Java进阶----继承

继承 一.继承概述 继承是可以通过定义新的类,在已有类的基础上扩展属性和功能的一种技术. 案例:优化 猫、狗JavaBean类的设计 狗类:Dog 属性:名字 name,年龄 age 方法:看家 watchHome(),Gett…

防火墙基础及登录(华为)

目录 防火墙概述防火墙发展进程包过滤防火墙代理防火墙状态检测防火墙UTM下一代防火墙(NGFW) 防火墙分类按物理特性划分软件防火墙硬件防火墙 按性能划分百兆级别和千兆级别 按防火墙结构划分单一主机防火墙路由集成式防火墙分布式防火墙 华为防火墙利用…

命令行运行git reflog(reference log)报错的解决办法

文章目录 1. 检查 Git 是否已安装2. 检查 PATH 环境变量3. 重新安装 Git 在Git中, reflog的英文全称是 “ reference log”。意思是 引用日志(参考日志)。它记录了本地仓库中HEAD和分支引用所指向的提交的变更历史。这包括了你所有的提交&…

推荐3款免费电脑工具

Tools-Web Tools-Web是一个在线工具箱,提供丰富的工具和功能,适用于日常工作和学习。根据用户评价,Tools-Web的工具种类丰富且操作简单,是日常工作和学习的好帮手。该工具箱涵盖了开发运维、文本处理、图片处理、图表处理、随机工…

收银系统源码-收银台副屏广告

1. 功能描述 门店广告:双屏收银机,副屏广告,主屏和副屏同步,总部可统一控制广告位,也可以给门店开放权限,门店独立上传广告位; 2.适用场景 新店开业、门店周年庆、节假日门店活动宣传&#x…

2通道音频ADC解码芯片ES7243L、ES7243E、ES7243,用于低成本实现模拟麦克风转换为IIS数字话筒

前言: 音频解码芯片某创参考价格: ES7243L 500:¥1.36 / 个 ES7243E 500:¥1.66 / 个 ES7243 500: ¥1.91 / 个 其中ES7243L工作电压为1.8V,与其他两款的3.3V工作电压不同&…

九科bit-Worker RPA 内容学习

简介: 什么是RPA? RPA(Robotic Process Automation,机器人流程自动化)本质上是一种“AI数字员工”,针对企业中存在的大批量、重复性、机械化人工操作,通过模拟人的工作流程使之实现自动化。 b…

Redhat 安装 docker 网络连接超时问题

目录 添加阿里云的Docker CE仓库 更新YUM缓存 安装 Docker Engine 启动并设置Docker自启动 验证 Docker 安装 [userlocalhost ~]$ sudo yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo 正在更新 Subscription Management 软件仓库…

c++之命名空间详解(namespace)

引例 在学习之前我们首先了来看这样一个情形: 在c语言下,我们写了两个头文件:链表和顺序表的。我们会定义一个type(typedef int type)方便改变数据类型(比如将int改成char),来做到整体代换。 但是我们两个头文件里面…

运维锅总详解系统设计原则

本文对CAP、BASE、ACID、SOLID 原则、12-Factor 应用方法论等12种系统设计原则进行分析举例,希望对您在进行系统设计、理解系统运行背后遵循的原理有所帮助! 一、CAP、BASE、ACID简介 以下是 ACID、CAP 和 BASE 系统设计原则的详细说明及其应用举例&am…

98.验证二叉搜索树——二叉树专题复习

递归: class Solution {// 判断二叉搜索树是否有效public boolean isValidBST(TreeNode root) {// 递归地检查以 root 为根的子树是否满足 BST 的性质// 同时定义一个范围 [Long.MIN_VALUE, Long.MAX_VALUE] 来约束节点的值return isValidBST(root, Long.MIN_VALUE…

SpringBoot拦截器

目录 一、拦截器快速入门 (1)什么是拦截器 (2)拦截器的使用步骤 1、定义拦截器 🍀preHandle() 方法 🍀postHandle() 方法 🍀afterCompletion() 方法 2、注册配置拦截器 二、拦截器详解…

中国剩余定理

模板代码&#xff1a; #include<bits/stdc.h> using namespace std; using ll long long; #define fi first #define se second const ll mod998244353; const int N2e510; #define int llint n,m[300],r[300]; int exgcd(int a,int b,int &x,int &y){if(b0){x…

如何用Vue3和Plotly.js打造交互式仪表盘

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue.js 中使用 Plotly.js 创建指示器卡片 应用场景介绍 指示器卡片是一种用于可视化数据并提供关键见解的交互式组件。它们通常用于仪表板、分析应用程序和监控系统。Plotly.js 是一个流行的 JavaScript 库&a…

Kotlin linkedMapOf filterKeys

Kotlin linkedMapOf filterKeys fun main(args: Array<String>) {val lhm linkedMapOf<String, Any>(Pair("name", "phil"), //因为key相同都为 name&#xff0c;被后面的覆盖。Pair("year", 2024),Pair("name", "f…

Face_recognition实现人脸识别

这里写自定义目录标题 欢迎使用Markdown编辑器一、安装人脸识别库face_recognition1.1 安装cmake1.2 安装dlib库1.3 安装face_recognition 二、3个常用的人脸识别案例2.1 识别并绘制人脸框2.2 提取并绘制人脸关键点2.3 人脸匹配及标注 欢迎使用Markdown编辑器 本文基于face_re…