- 博客(32)
- 收藏
- 关注
原创 无刷电机学习-方波电调 电路篇
经过Buck电路后输入的电压已经变成了4.8V,而单片机的供电一般都是3.3V。想要彻底的理解无刷电机的驱动,那必然少不了学习他的驱动电路和程序。LDO芯片虽然也可以降压,但是发热大,输入输出的电压差不能太大,优点是稳定性好,负载响应快,输出纹波小,所以进行小压差降压后给主芯片供电。DC-DC芯片的作用是构成buck电路进行降压,效率高,输入电压范围较宽,可以高效的将一个较高电压给降到一个较低电压范围。(1)芯片的概述和特点。一个基本的无刷电机驱动电路大致包含电源电路、电流电压采样、电机驱动电路。
2024-01-23 21:04:28
6814
3
原创 几个硬件基础问题
1、嵌入式系统中ROM、RAM、Register的概念和作用是什么?(1)ROM是只读存储器,断电后能保证数据不会丢失。(硬盘)(2)RAM是随机存储器,断电后数据会丢失.(内存)(3)Register是寄存器,用来暂时存放相关指令信息或数据信息的硬件设备。2、嵌入式中断系统的概念、并举例说明终端执行过程中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。3、STM32的IO可以配置成哪几种工
2023-03-01 14:14:01
293
转载 Linux系统目录详解
/bin/存放系统命令的目录,普通用户和超级用户都可以执行。不过当在/bin下的命令在单用户模式下也可执行。系统的必备执行文件cat、cp、df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。/sbin/主要放置系统管理的必备程序,例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotache.
2022-04-17 10:33:57
815
原创 RS232,RS485原理与应用
Uart存在的问题1、没有一个统一连接器的标准,且只规定了数据传输的顺序(只规定了两根线)2、只规定了高电平为1,低电平为0(例:51是5v,stm32为3.3v,并没有说明电压值)3、看干扰能力差,所以传输距离短。RS232协议(电气层,物理层,对软件编程没有任何区别)1、接口:规定了一个标准的连接器,一共九根线并规定了每根线都是干什么用的2、信号:规定了-15v-5v为高电平,5v-15v为低电平,所以增大了通信距离3、电平转化:通过一个232芯片,讲单片机上的TTL信号转化
2022-04-08 16:12:10
4138
原创 STM32程序的常用的两种烧录方式
STM32有两种常用的烧录方式,一是利用JLink和STLink调试下载,二是利用串口线直接下载一、ISP(In-System Programming)在系统编程,使用引导程序(Bootloader)加上外围UART/SPI等接口进行烧录。二、ICP (In-circuit programmer)在电路编程,使用SWD/JTAG接口。这两种方式有什么区别以及怎么用我们得先了解一下STM32的地址映射看Block0中有两块标为橙色的,Flash和System memory
2022-04-07 19:48:25
17561
原创 LDO和DCDC电路的概述和区别
一、什么是DCDCDCDC的意思是直流变(到)直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器.常见的DCDC电路有buck、boost、buck-boost分别是降压、升压、降压升压电路 二、什么是LDOLDO 是一种线性稳压器,使用在其饱和区域内运行的晶体管或场效应管(FET),从应用的输入电压中减去超额的电压,产生经过调节的输出电压。所谓压降电压,是指稳压器将输出电压维持在其额定值上下 100mV 之内所需的输入电压与输出电压差额的最小...
2022-04-07 08:19:40
22434
2
原创 三极管和MOS管的应用与区别
一、三极管三极管是电流控制电流器件,用基极电流的变化控制集电极电流的变化。有NPN型三极管(简称P型三极管)和PNP型三极管(简称N型三极管)两种其作用是把微弱信号放大成幅度值较大的电信号,也用作无触点开关。中间部分是基区,两侧部分是发射区和集电区如果想要导通一个NPN类的三极管,你需要在基极施加一个正电流。想要导通一个PNP晶体管,你需要在基极施加一个负电流或使基极接地。三极管有三种工作状态,分别为截止状态、放大状态、饱和状态可以把三极管看成是一个水龙头或者阀门,那么集电.
2022-04-06 21:40:30
7174
原创 STM32中断系统概述
一、中断基本概念中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。进入中断(保存现场信息,保存寄存器的值),退出中断(现场恢复)二、嵌套向量控制器NVIC(用于管理中断)对某一个中断进行使能或者禁止,或者挂起中断(cup在忙更重要的事)三、中断及异常向量表支持10个系统异常和最多240个外部中断; 支持3个固定的高优先级和多达256级的可编程优先级,支持12...
2022-04-04 19:16:46
696
原创 ESP8266收集温湿度上传mysql,并搭建局域网服务器
Arduino IDE进行编程。物联网系统最基础的就是数据采集,数据存储,数据处理。而ESP01S便是一款十分便宜的wifi芯片,ESP01S(4RMB),DHT11(4RMB)就可以实现数据采集,数据上传,数据存储,数据显示等功能。 话不多说先上代码。#include <ESP8266WiFi.h> // Use this for WiFi instead of Ethernet.h#include <My...
2022-04-04 09:20:25
1293
5
原创 STM32使用IIC通信
一、IIC简介IIC数据总线是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。 在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送。(同步半双工)I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答 信号。开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 I
2022-04-03 20:11:42
2258
原创 电路中电容的常用功能(滤波、去耦、旁路)
如图是一个常用的1117的5v转3.3v的电路,大致用到了2种规格的电容分别是10uf和0.1uf,那这两个电容的作用是什么呢?1、滤波稳压,C6,C8两个容量较大的。这里输入的是直流电,所以滤波的作用不是很明显,滤波电容用在电源整流电路中,用来滤除交流成分,使输出的直流更平稳。但是它也有稳压的功能,比如电源输入电压大小不稳定,或者负载在工作与不工作时所占电压不同,造成电压不稳,此时电容充电放电的过程就可以使电路获得一个稳定的5v电压。2、旁路电容 C5(过滤输入)保护自己在各类IC芯片
2022-04-03 15:14:15
2899
原创 上拉电阻与下拉电阻的学习
一、什么是上拉电阻和下拉电阻顾名思义,就是把某个点的电势拉到高电平或者是低电平,比如在TTL电路中电压是4.5v-5v,当某一点的电压>2v就认为他是高电平,<0.8v就是低电平。二、上拉电阻与下拉电阻应用1、比如某个芯片上有EN引脚,就是使能引脚,数据手册会告诉你该引脚是高电平有效还是低电平有效,所以当他悬空时的电平状态不确定,此时接一个电阻接到vcc就是一个上拉电阻,给引脚一个高电平。(如图ESP12f最小系统板)2、开关,比如某个计数器,高电平记一次输,所以为了防止悬空
2022-04-03 13:53:22
4753
原创 嵌入式常用通信协议整理
一、IIC 同步半双工I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。当SCL保持“高”时,SDA由“高”变为“低”为开始条件;当SCL保持“高”且SDA由“低”变为“高”时为停止条件。开始和停止条件均由主控制器产生。使用硬件接口可以很容易地检测到开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样,以检测这种...
2022-04-02 10:25:01
1519
原创 系统移植过程
Windows装机过程1、准备Windows系统镜像,u盘启动盘2、进入BIOS(也相当于一个软件,厂家固化到主板)选择启动方式(U盘启动)3、通过U盘中的引导程序安装系统4、安装windows系统Linux系统移植1、混呗Linux内核镜像、U盘或sd卡作为启动盘(安装U-boot)2、选择启动方式3、通过Sd卡安装系统4、安装Linux驱动程序...
2022-03-31 11:49:07
1575
原创 系统移植导学
1、嵌入式系统分层内核层:上层提供api,下层管理硬件2、给arm开发板安装linux系统(linux是又大量汇编和c写好的)移植(最重要是匹配,配置的过程)不同架构处理器的指令集不兼容,即使相同架构,板卡不同驱动(寄存器不同)代码也不兼容。linux是一个通用内核,所以从官网获取Linux 经相应的配置就可以尽享编译和安装3、主要内容(1)、linux代码结构(2)、c、汇编(3)、makefile...
2022-03-31 11:31:23
1014
原创 QTdesigner+Pyqt5学习笔记(安装、使用pycharm开发)
一、安装按理来说应该是以下两个命令,但是mac安装时总是速度慢且出错(更换镜像也无用)pip install pyqt5pip install pyqt5-tools所以macos下直接brew install pyqt5二、在pycharm的tools中添加QtDesigner和PyUICQtDesinger是用来设计界面的,PyUIC是将设计好的ui转化成py文件三、简单设计一个计算器的页面保存为.ui文件转化为.py文件,然后在mai...
2022-03-11 15:41:49
1391
原创 Vscode开发stm32、esp32、8266等硬件开发环境(platformIO+cubeMX)(使用mac作硬件开发)
macos开发硬件,vscode开发stm32,esp系列芯片
2022-03-06 18:01:41
2768
原创 JDBC的入门
首先什么是JDBCJava数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。JDBC API主要位于JDK中的java.sql包中示例:使用java连接mysql数据库package com.mysql.test; import java.sql.*;
2022-02-28 16:00:50
86
原创 Android stduio开发(Android开发笔记3-组件学习)
1、线性布局(LinearLayout)线性布局顾名思义就是用一根线串起来的,从上到下,从左到右。android:orientation="vertical"。vertical代表从上到下,horizontal代表从左到右2、这次先学习了三个组件(TextView、EditView、Button)组件的定义和布局都在layout目录下,新建一个空项目会自动生成一个activity_main.xml的文件但是布局是ConstraintLayout(约束布局)是Google推出的新的布局组件,它
2022-01-21 17:40:57
1868
原创 Android stduio开发(Android笔记2-AndroidManifest.xml)
AndroidManifest.xml指定了App运行配置信息,是一个XML描述文件,初始内容如下<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.emptyapplication"> <application android:all
2022-01-21 14:13:07
182
原创 初识Android stduio开发(Android开发笔记1-app工程目录)
app工程结构(1)manifests目录(显示)这其中只有一个xml文件,即AndroidManiffest.xml,这是app运行的配置页面(2)java目录该目录下有三个子目录,其中一个存放主要的java代码,后两个存放测试用的java代码(3)res目录(存放资源文件)drawable存放图片文件、layout存放app布局文件、mipmap存放启动图标、values存放一些敞亮定义文件(如string.xml、color.xml等)2、Gradle Scripts编
2022-01-21 13:59:12
1717
原创 Node-Red接收mqtt消息保存到数据库
环境搭建1、Node-Red(如果是服务器推荐docker安装)Getting Started : Node-REDhttps://nodered.org/docs/getting-started/2、MysqlMySQL :: MySQL Downloadshttps://www.mysql.com/downloads/然后启动 Node-Red,想要实现Mqtt消息存到数据库主要用到三个节点(1)mqtt in (2)function (3)mysql(1)mqtt in中...
2022-01-19 09:48:25
4473
1
原创 macOS 将python3、pip3设置为默认python
1、在terminal下查看是否安装了python3python3一般新机器都会提示appstore一键安装,当然也可以使用命令brew install python3查询python3、pip3的路径which python3which pip3然后配置环境变量,将python3作为默认pythonvim ~/.bash_profile 在.bash_profile中写入以下信息# (which python3、pip3中显示的路径)alias pytho
2022-01-07 13:50:05
1585
原创 Docker安装和Nodered配置
首先这里列一些常用的docker命令。docker pull : 镜像名(拉去镜像)docker run :创建一个新的容器并运行一个命令。docker ps :显示正在运行的容器docker exec:在运行的容器中执行命令。1、到这里我们开始安装docker,依旧是一键安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2、docker拉取镜像docker pull nodered/n
2021-11-27 19:17:29
2910
原创 STM32魔术棒配置
Device选择开发板型号Target(硬件目标设置选项卡)Xtal(MHz):晶振频率选择然后这部分就没有什么要了解的了Memory Molde(变量存储选择内存区域)一般都是Small存到片内RAM中OutputSel ect Fol der for Object选择编译结束后的目 标文件存放目 录。 不选择就默认存放在工程目 录。Name of Executabl e设置生成的可执行文件的名字, 默认是工程名。 次可执行文件将加载到调试器中并下载到硬件。注..
2021-10-15 09:46:51
2400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人