- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 嵌入式-面试-八股文
1.宏定义#define① (60 * 60* 24 * 365)数值尽量用括号括起来②防止溢出(UL)表示无符号长整形2.static的作用static用来修饰变量、函数①把【局部变量】改变为【静态局部变量】后是改变了它的存储方式即改变了它的生存期②把【全局变量】改变为【静态全局变量】后是改变了它的作用域,限制了它的使用范围③【static函数】与【普通函数】作用域不同,仅在本文件有作用(一个源程序由多个源文件,only当前.c文件)3.堆和栈的区别,哪个运行的更快,优缺点是什么?①快慢:栈区(
2022-06-30 21:11:08
3511
原创 嵌入式Linux入门---1.3 环境搭建&软件安装
一、安装Linux-乌班图 虚拟机安装成功!打开终端:1.检查可以上网①将软件源更换为清华源,执行“sudo apt-get update”命令②再执行“sudo apt-get install net-tools”命令③ifconfig 检查是否获得IP地址④ping baidu.com 发现可以运行OK或者①ip addr 找到ip地址②ping baidu.com 发现可以运行 Ctrl+C跳出当前命令2.一键配置/初始化开发环境其实就是安装 tftp,nfs,vim 等软件
2022-03-07 11:03:58
1510
原创 嵌入式Linux入门---1.2 登录、连接wifi
本人使用的是IMX6ULL_PRO一、开发板登录体验1.连接电源线、串口线2.下载putty.exe3.登录设置putty为串口模式、波特率115200、比特流为NoneSilicon Labs CP210x USB to UART Bridge (COM3)
2022-03-04 17:07:31
763
原创 嵌入式Linux入门---1.1 学习路径&git 使用
什么是“嵌入式”?答:除了电脑,其他东西都是“嵌入式”一、嵌入式Liunx组成拿windows做类比,比如我们的手表运行Liunx,那么这个手表的操作系统组成为下图右侧:因为Liunx的bootloader、内核、根文件系统开源,不同系统的硬件资源不同,我们可以任意的修改。二、嵌入式Liunx学习路径错误的学习路径:正确的学习路径:先快速入门,再按需提高开发板推荐:IMX6LL、STM32MP157、RK3399三、资料下载git clone https://e.coding.n
2021-08-03 23:35:54
1526
7
原创 电机的分类与使用
电机的分类与使用一、电机的分类<1>直流电机<2>步进电机<3> 舵机二、STM32HAL库源码<1>直流电机<2>步进电机<3> 舵机一、电机的分类<1>直流电机<2>步进电机<3> 舵机二、STM32HAL库源码<1>直流电机<2>步进电机<3> 舵机...
2021-08-03 21:28:18
435
原创 从单片机——快速上手PLC
从单片机——快速上手PLC我的理解:PLC=单片机+继电器+…一、简介学习目标:整体式PLC西门子PLC分类—天梯图:S7-200CN 西门子PLC----实物图与PC连接–烧录程序二、继电器型PLC交流220v供电三、晶体管型PLC直流24v供电在这里插入图片描述四、编程软件STEP7五、单片机与PLC通信modbus 通讯协议----RS485接口---------------难GPIO(3.3V)--------放大24v--------------------
2021-07-31 14:52:44
1318
原创 关于做正式电子设计项目的——两个重要注意点
1.供电问题单片机3.3v & 外设**5v+**的供电要分开1.1单片机供电单片机只需要十几mA电流,充电宝会认为电流太小二断电1.2外设供电用LM2596将24v降到5v2.共地问题外设(类似openmv)与单片机通信,需要供地,以提供一个一致的低电平,以比较得到1-0...
2021-07-16 13:17:44
237
原创 进阶HAL开发——第二集-FreeRTOS
大三了,在保研、考研、保研加分政策改变的焦虑中渡过了2021的前5个月。好久没有认真学东西了。不管了,先学点东西把手里的比赛做完,加不加分都随缘。FreeRTOS-HAL库一、简介二、理解三、使用3.1 移植FreeRTOS ---- 添加任务3.2 认识程序框架3.3 阅读FreeRTOS.c与main.c3.4 A任务删除B任务四、实例:五、总结一、简介FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、.
2021-05-19 15:37:28
4779
3
原创 温度芯片lmt70使用笔记
lmt70使用笔记一、芯片相关说明二、移植相应驱动库三、驱动库源码分析四、实训一、芯片相关说明此芯片有三种电压-温度转换方式分别是:①一阶导数查表法②二阶导数公式法③三阶导数公式法一阶导数查表法适用于人体窄温度范围的温度测量二阶和三阶公式法在宽温度范围-50度到100+度,提供全局更准确的转换。对于没有fpu单元的mcu和人体温度测温范围的应用,推荐使用一阶导数查表法。二、移植相应驱动库1.把lmt70.c lmt70.h 添加到项目2.编写自己的my_app.c添加到项目
2021-05-07 17:32:55
4915
1
原创 QT与Sql Server联动
QT连接、操作Sql Server一、Sql Server 创建二、Sql Server 数据库设计 ER模型三、QT连接数据库1.模块、头文件、QT数据库对象包含创建2.QT连接数据库四、QT操作数据库一、Sql Server 创建参考这篇Sql Server 创建(感谢博主)二、Sql Server 数据库设计 ER模型三、QT连接数据库1.模块、头文件、QT数据库对象包含创建por工程文件里:QT += sqlmianwindow.h里#include <QtDebug>
2021-04-28 08:31:46
547
原创 我踩了所有ESP8266的坑,现在来个最终总结
STM32+ESP8266 协议接入IOT平台【必成功】1.移植到STM32前先检查你的esp8266能不能用1.1 大概率你手里的esp8266是官方固件——刷MQTT固件1.2 ESP8266 MQTT固件 AT指令列表:2.移植esp8266驱动 & mqtt驱动出门左转是上一篇esp8266+stm32的笔记,那个是用官方固件,反正我是连不上~1.移植到STM32前先检查你的esp8266能不能用1.1 大概率你手里的esp8266是官方固件——刷MQTT固件warring:e
2021-04-10 10:24:57
21497
6
原创 Qt学习笔记-DAY2
Qt学习笔记-DAY2目录Qt学习笔记-DAY21.1.#include "mainwindow.h"#include <QMenuBar>#include <QToolBar>#include <QDebug>#include <QPushButton>#include <QStatusBar>#include <QLabel>#include <QDockWidget>#include <QT
2020-12-29 11:06:15
929
原创 Qt学习笔记-DAY1
Qt学习笔记-DAY1目录Qt学习笔记-DAY11.简介2.创建一个Qt项目2.1 创建2.2 mian.cpp分析2.3 工程文件分析2.3 头文件分析2.4 代码架构分析3.Qt 若干重要概念3.1 命名规范&快捷键&帮助文档3.2 对象树3.3 坐标系3.4 信号&槽(信号的处理)3.5 Lambda表达式(相当于一个万能的槽)4.控件—Qpushbutton4.1 按钮控件常用api4.2 第一种创建4.3 第二种创建1.简介2.创建一个Qt项目2.1 创建
2020-12-26 20:19:16
795
2
原创 进阶HAL库开发——第一集 :ADC采集
1.定义一个全局数组给到DMA来存储ADC多路数据uint32_t ADC1_Value_DMA[4];2.start DMA传输在mian里while(1)外【使能连续模式】在mian里while(1)里【未使能连续模式】HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC1_Value_DMA, 4);//这里的最后一次参数4是代表有4路还需要把DMA的中断注释掉,否则会一直进中断*这里DMA中断其实没有用,但CubeMx默认给Enab
2020-10-04 11:49:54
3384
4
转载 单片机的程序架构——时间片轮询【学习笔记】
单片机的程序架构1.顺序执行2.时间片轮寻:==2.0 一个定时器的复用:====2.1 时间片轮询架构:====2.2 具体实现:==2.2.1定义 任务结构体2.2.2初始化 任务结构体2.2.3定义 任务清单&任务数目 枚举类型2.2.4编写 定时器中断函数&任务处理函数2.2.5编写main函数2.2.6编写你的任务函数==2.3 注意点&C语言补坑:==3.操作系统:1.顺序执行/*****************************************
2020-10-03 15:41:40
13546
11
原创 STM32cubeMX【Hal库】实现wifi无线通讯【利用ESP8266模块】——入门篇(实现点灯)
==stm32串口+AT指令控制ESP8266==1.基本原理&知识点1.1运行原理:1.2esp8266 at 指令1.3mqtt协议2.云平台部分【阿里云】3.上位机部分【安卓app】4.下位机部分【stm32+AT指令】4.1mqtt协议库4.2esp8266at指令库4.3main.c4.4usart.cstm32串口+AT指令控制ESP82661.基本原理&知识点1.1运行原理:单片机通过串口usart向esp8266发送AT指令,上报信息。其他设备上报的信息通过云,传.
2020-08-02 23:41:33
20021
52
原创 AD16_PCB全流程#04——规则设计
#04——规则设计规则设计#04——规则设计1.间距设置2.线宽设置3.电源线宽设置4.过孔设置5.铺铜设置6.丝印设置1.间距设置2.线宽设置3.电源线宽设置4.过孔设置5.铺铜设置6.丝印设置
2020-07-25 11:05:40
3950
原创 AD16_PCB全流程#03——PCB布线
#03——PCB布线PCB布线#03——PCB布线1.打开飞线(GND/VCC除外)2.先把每个模块内的短线连一起3.GND/VCC引出过孔4.晶振包地处理5.Bottom+过孔+Top6.排插——多根走线7.差分走线——ADC数模转换【DMA】
#06(下)——ADC数模转换【DMA】这个博主写的太好啦!!!https://blog.youkuaiyun.com/apple_2333/article/details/96962574
2020-07-25 10:25:30
545
1
原创 AD16_PCB全流程#02——PCB布局
#02——PCB布局PCB布局#02——PCB布局1.创建PCB文件 | 导入元件1.1创建pcb文件1.2导入元件way11.3导入元件way21.4检查是否有误2.导入规则step1:复制规则到工程文件step2:点击importstep3:选择复制的规则step4:点击应用3.快捷键4.确定PCB大小 | 画辅助线4.1.确定PCB大小4.2.画辅助线5.PCB布局5.1开启分屏5.2按 {模块} 把元件放在板子周围5.3关闭飞线5.4丝印缩小局中5.5先大后小布局1.创建PCB文件 | 导入元件
2020-07-24 12:41:02
4319
1
原创 AD16_PCB全流程#01——原理图绘制
#01——原理图绘制原理图绘制#01——原理图绘制1.创建项目2.快捷键3.绘制①基本元素放置②美化==③统一批量加标号==④编译检查1.创建项目①创建工程②添加原理图文件③调出库④添加库2.快捷键快速产看 快捷键常用快捷键设置快捷键ctrl+单击菜单上的按钮3.绘制①基本元素放置②美化1.去掉右下角信息文本框2.添加logo③统一批量加标号④编译检查...
2020-07-24 12:10:41
6884
1
原创 HAL库开发#07——OLED显示屏
#07——OLED显示屏1.OLED概述2.OLED开发需要的资源3.移植OLED库函数4.OLED库——常用函数OLED初始化函数OLED清屏函数void OLED_Init(void); //OLED初始化函数void OLED_Clear(void); //OLED清屏函数显示英文字符串函数//显示英文字符串函数void OLED_ShowString(unsigned char x,unsigned char y,unsigned c
2020-07-22 17:46:48
7881
原创 HAL库开发#06(中)——ADC数模转换
#06(中)——ADC数模转换ADC基础开发1.stm32 ADC资源2.CubeMX ADC配置3.HAL库相关函数【查询方式】【中断方式】【DMA方式】tips:sprint函数【DMA下一篇】[其他相关函数]ADC启动与停止//查询,阻塞方式,启动ADCHAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc);//查询,阻塞方式,停止ADCHAL_StatusTypeDef HAL_ADC_Stop(A
2020-07-21 20:27:55
7940
5
原创 HAL库开发#06(上)——ADC数模转换
#06(上)——ADC数模转换——基础知识注:这是我的学习笔记。 来自B站视频(av号:av87017878)这个UP的原博客为:https://www.xmf393.com/2020/02/10/20200210/
2020-07-21 10:58:59
415
原创 HAL库开发#05——串行接口
#05——串行接口1.原理2.CubeMX配置3.Hal库 发送函数返回值:HAL_StatusTypeDef,函数执行状态。typedef enum{ HAL_OK = 0x00U, HAL_ERROR = 0x01U, HAL_BUSY = 0x02U, HAL_TIMEOUT = 0x03U} HAL_StatusTypeDef;4.Hal库 接收函数5.1实训——CubeMX配置5.2实训——MDK编程宏定义&
2020-07-16 16:26:27
805
原创 HAL库开发#04——定时器
#04——定时器1.1原理分析1.2HAL库开发流程2.1实训2.2MDK编程/* USER CODE BEGIN 0 */void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if(htim->Instance == TIM2) //处理TIM2间隔定时中断 { AL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);
2020-07-15 22:00:43
1028
原创 HAL库开发#03——中断系统&外部中断
#03——中断系统&外部中断1.相关知识2.实训//外部中断的初始化函数由STM32CubeMX辅助生成,用户只需要重写中断回调函数。/* USER CODE BEGIN 0 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == GPIO_PIN_13) { HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9); } if(G
2020-07-15 11:35:27
377
原创 HAL库开发#02——按键开发
#02——按键开发1.原理分析2.HAL库函数3.1 CubeMX配置3.2MDK编程#define KEY2 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)#define KEY3 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)#define KEY4 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_5)void Scan_Keys(){ if(KEY2 == GPIO_PIN_RESET) {
2020-07-14 21:16:07
1010
原创 HAL库开发#01——CubeMX入门
#01——CubeMX入门①添加芯片包:②创建项目③图形化配置④生成代码⑤MDK编程tips:①注释有乱码?②代开代码提示?
2020-07-13 22:05:05
381
原创 C#上位机设计项目实战——06波形显示器
波形显示器1. 界面展示单击显示波形按钮,会弹出画图界面。同时在画图界面,添加了快捷键控制主界面和波形显示。2.开发tipstips1:在右下角属性处,点击闪电标志,快速添加事件处理函数。不用再傻乎乎的自己写定义。tips2:添加一个新窗口操作流程tips3:控制谁先显示【在Program.cs的Application.Run()设置】namespace Drawer{ static class Program { [STAThread]
2020-07-12 11:32:00
4578
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人