自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cypher的博客

机器人爱好者,2020利兹大学机器人专业在读。

  • 博客(70)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux系统关机和重启操作

在linux中,关机和重启的指令挺多的,但主要记住三个就够了:shutdown poweroffreboot其中shutdown可以完成一些功能:格式: [shutdown][-krhc][时间]-k:发送一些警告,不是真的要关机-r:重启-h:关机-c:取消已进行的shutdown指令for example:shutdown -h now就是立刻关机shutdown -h 1:30在1:30关机shutdown -h+10在10分...

2020-08-15 03:20:47 323

原创 树莓派与windows文件互传

在进行树莓派项目时,想对树莓派编辑的文件进行备份处理,可能要用到将文件与windows进行互传操作处理。在windows上下载一个WINSCP的软件,https://www.onlinedown.net/soft/20088.htm进行树莓派登录,将文件互相拖取即可。...

2020-08-15 00:36:20 665

原创 Windows与VMware(LINUX)实现文件互传

在使用VMware_LINUX时需要使用到文件互传功能,最麻烦的方法就是U盘拷取,但是这方法太傻了,下面说一种方法。安装VMware_TOOLS,要在运行中才能安装,不然灰色的你点不动...安装完会弹出来一个VMware_TOOLS的文件夹,记得要把.gz的压缩包先移到/home/中,可以mkdir一个文件夹进行存放。然后运行 tar -zxf VmwareTools。。。。。.tar.gz进行解压操作。lscd ...distrib文件发...

2020-08-12 21:11:26 744

原创 树莓派4B raspberry pi 交叉环境编译

PC环境:Ubuntu20.04 VMware 64位在项目中,用到树莓派的编程控制,由于树莓派的某些不稳定性质,经常导致SD卡坏死,或者读写出错,很多因素有关,比如说RUN的时候短暂断电,树莓派4B的TYPE_C电源电路设计不合理导致发烫严重,SD卡承受温度在65°C左右,容易损坏等等情况,有一种方法可以缓解这种情况,以后会说到。现在为了解决这种可能的出现,项目代码最好是能够进行一次备份,有一种方法就是交叉环境编译,即在windows端进行代码编译,再把文件通过ssh发送给树莓派进行运行,这样

2020-07-29 15:14:28 1365

原创 Linux系统的文件目录结构

目录结构:Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。Etc:该目录主要存储一些配置文件。Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。Root:...

2020-07-24 01:19:00 196

原创 Linux终端组成及关机命令

终端组成部分:如何使用终端命令进行关机?在Linux中关机命令 有以下几个:shutdown-hnow(正常关机)、halt(关闭内存)、init0(多见于CentOS6)

2020-06-18 22:14:15 208

原创 Python中运算符

加减乘除不说了。a%b 取余a//b 向下取整,比如7//3 = 2a**b 指数,比如7**3 = 7的三次方即343

2020-06-10 12:30:10 227

原创 Python中的注释

#是单行注释'''是多行注释'''"""是多行注释"""

2020-06-08 22:54:42 202

原创 ROS安装教程及碰到的异常处理的解决方法

由于在虚拟机VMware中预先安装的Ubuntu系统是18.04版本由百度百科知道ROS的发行版对应着Ubuntu的发行版,并且没有对应上的操作系统是不能够兼容的(最新的Noetic对应Ubuntu20.04),所以根据上图知道Ubuntu18.04对应的ROS版本是Melodic。安装过程:1、添加ROS源: 首先要添加源,由官方的源和国内的源,这里用很多次失败的教训告诉大家最好用国内的源。 官方源: sudo sh -c 'echo "d...

2020-06-07 17:23:37 2153

原创 Ubuntu打不开Software center的解决方法

不论是在VMware虚拟机中还是在实系统中,可能会碰到Ubuntu系统打不开Software center打不开的情况,这时候我们需要重新装Software center(亲测有效)依次运行下面的命令:sudo apt-get updatesudo apt-get dist-upgradesudo apt-get install --reinstall software-center等待安装即可~...

2020-06-05 23:44:31 20764 4

原创 VMware中安装虚拟机时出现的问题

在安装VMware后,添加虚拟机出现了如上提示,就怎么也打不开虚拟机。还提示0x00007b的错误,查询网上的方法,大致有以下方法:一、Ctrl+Atl+delete打开任务管理器,找到vmware-vmx.exe进程,关闭这个进程。(我在进程中没有找到...)二、打开任务管理器,打开服务,将VM的都禁用后,重启后再启用,管理员身份打开VMware(我觉得没有用..)三、在任务管理器中将VM的进程都关闭,重启电脑(没用...)四、出现0x000007b时因为装系统的时候C++版本太...

2020-06-05 01:34:33 1751

原创 模拟IO口4线软件SPI应用—SSD1306中景园0.96OLED显示屏

SPI比较混乱,主要是没有标准的协议,只有moto的事实标准。所以衍生出多个版本,但没有本质的差异。标准的SPI协议有:4线:SCLK MOSI MISO CS3线:SCLK SDA CS但还有一个常见的版本,也是我们常用的,只有输出没有输入,用于液晶屏显示等:4线:SCLK MOSI CS D/C3线:SCLK MOSI CS模拟4线SPI,根据规格书时序图拉时序:...

2020-05-25 16:36:00 1162

原创 STM32对HAL库的SPI接口程序

查看相应设备SPI接口的时序,确定从设备要求。我们的master模式要根据从设备的时序要求来设置参数,才能正常访问设备。例如这个:从设备要求,1、时钟空闲时为高电平;2、数据在时钟下降沿跳变,上升沿稳定,第2个沿为数据采样点;3、高位先发送;4、数据长度8位;所以在CubeMx中应该设置为:最后增加读写函数://SPI2,master模式,读写一个字节...

2020-05-23 16:10:00 2535 3

原创 基于HAL库的STM32定时器单脉冲控制

这里的单脉冲控制是指在PWM下产生指定个数的脉冲。先在CubeMx中按照PWM进行配置。定义一个变量表示脉冲个数。uint8_t PWMnum = 5;开启PWM中断。HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1);定义脉冲完成回调函数。 uint8_t cnt = 0;void HAL_TIM_P...

2020-05-23 13:55:00 2235

原创 STM32对HAL库的输入捕获应用

基本方法1.设置TIM2CH1为输入捕获功能;2.设置上升沿捕获;3.使能TIM2CH1捕获功能;4.捕获到上升沿后,存入capture_buf[0],改为捕获下降沿;5.捕获到下降沿后,存入capture_buf[1],改为捕获上升沿;6.捕获到上升沿后,存入capture_buf[2],关闭TIM2CH1捕获功能;7.计算:capture_buf[2]...

2020-05-22 17:23:00 1297

原创 STM32中APB1和APB2控制对应表

STM32中APB1和APB2控制对应表分类APB1电源接口UART2、UART3CANTIM2、3、4SPI2IIC1、IIC2看门狗USBAPB2GPIO_A-EUSART1ADC123TIM1、8SPI1ALL...

2020-05-22 11:24:00 2007

原创 STM32的按键方法

按键可以用按键扫描的方法和外部中断的方法。外部中断看前面,个人推荐使用外部中断更好。其余情况可以用按键扫描,这里只讲按键扫描的方法。先在main.h中定义按键名称#define KEY0 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5) //KEY0按键PC5#define KEY1 HAL_GPIO_ReadPin(GP...

2020-05-22 08:58:00 4169

原创 STM32对HAL库的串口不定长度的读写操作(三)

关于利用中断实现串口不定长接收,还可以使用串口通讯协议来控制读写的长度。先设定停止结束标志位为0x02(自定义)。新建一些数组备用:uint8_t value; //进入中断接收数据的变量 或 uint8_t value[1];uint8_t getBuffer[50]; //保存接收到的数据的数组uint8_t countOfGetBuffer = 0; ...

2020-05-21 09:19:00 599

原创 串口通信协议基本样式

AOI串口通讯协议1 PC与LCD测试架的通讯PC与LCD测试架之间采用232串口线连接,传输参数:波特率:115200,校验位:无,数据位:8,停止位:1,流控制:无2 通讯数据包格式数据包格式:标志0x5A数据长度N1~255数据1D1数据2D2……数据NDn校验和CheckSumChe...

2020-05-12 18:49:00 1202

原创 split分隔函数及原型

void split(char *src,const char *separator,char **dest,int *num) { /* src 源字符串的首地址(buf的地址) separator 指定的分割字符 dest 接收子字符串的数组 num 分割后子字符串的个数 */ char *...

2020-05-12 17:57:00 1387

原创 STM32-FATFS 读写SD卡

https://blog.csdn.net/qutiezhu/article/details/52373260

2020-05-12 17:42:00 316

原创 AD8211的使用

AD8211是一款高压、精密分流放大器,能够测量电路上的电流。Vout端可以通过接单片机ADC通道检测电压,反过来求得Ishunt的值。

2020-05-12 16:34:00 977

原创 TVS管和ESD管

TVS管是瞬态抑制二极管,具有很快的响应能力和强大的浪涌吸收能力,主要用在电源输入端来吸收浪涌的。ESD是静电放电管,主要用在关键引脚上起到静电保护作用。...

2020-05-12 16:13:00 398

原创 可调背光板(三)__B628升压电路

采用的是首鼎的SDB628升压芯片。输入2-24V,输出可达28V。Vout = Vref * (1 + R1 / R2),Vref = 0.6V本次要配一个16.5V上下的电压,具体电路如下。实测得最好在输出负载端接限流限压电阻,不然IC芯片容易发烫,阻值33R左右即可。...

2020-05-12 16:00:00 6748 1

原创 可调背光板(二)__DW01FA锂电池保护IC电路

在TC4056A充电电路基础上增加过充电过放电保护电路,更好的保护充电电池。过充电保护:正常状态下, 对电池进行充电, 如果使VDD端电压升高超过过电压充电保护阈值VOC, 且持续时间超过过电压充电保护延迟时间tOC, 则DW01F将使充电控制端COUT由高电平转为VM端电平(低电平), 从而使外接充电控制N-MOS管Q1关闭, 充电回路被“切断”, 即DW0...

2020-05-12 15:40:00 1418

原创 可调背光板(一)_TC4056A充电电路

TC4056A 是一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器。 提供固定的4.2V充电电压。可以监测充电电池电压和电池温度,这里我们不用上温度监测,所以TEMP接地。充电电流大小和PROG端的电阻大小有关。充点终止:当 PROG 引脚电压降至 100mV 以下的时间超过t TERM(一般为1.8ms)时,充电被终止。实测PROG端电阻可以为1....

2020-05-12 15:10:00 8349 3

原创 ADS1115的使用教程(IIC)

ADS1115可以测量ADC,能够测量单端对地电压和差分对输入的电压,测量范围是0-6V。上代码:main.c:#include "led.h"#include "delay.h"#include "sys.h"#include "usart.h"#include "lcd.h"#include "key.h" #include "ads1115.h"fl...

2020-05-12 14:01:00 12335 3

原创 INA3221的使用教程(IIC)

INA3221使用方法和INA226基本上一致,多了选择多通道读取,根据数据手册制定不一样的初始化代码。INA3221不能够直接读分流电阻的电流,但可以通过算得两端电压算出电流。上代码:INA3221.c:#include "INA3221.h"static void delay_nns_3221(uint16_t D) //30纳秒ns 根据手册要用到IIC的HS高...

2020-05-12 11:55:00 7018 1

原创 INA226使用教程(IIC)

INA226是一路电压电流功率检测器,可以检测线电压,分流电阻的电压和分流电阻电流。具体实现要看INA226数据手册。INA226.c:#include "INA226.h"INA226 INA226_data;static void delay_nns(uint16_t D) //30纳秒ns 根据手册要用到IIC的HS高速模式{ while(--D)...

2020-05-12 10:56:00 13019 8

原创 基于HAL库STM32的FSMC驱动8位TFTLCD屏

先上代码。main.c:/* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program b...

2020-05-12 10:37:00 3048 7

原创 LM358电压跟随器

电压跟随器的作用:1、缓冲:在一定程度上可以避免由于输出阻抗较高,而下一级输入阻抗较小时产生的信号损耗,起到承上启下的作用。2、隔离:由于电压跟随器具有输入阻抗高,输出阻抗低的特点,使得它对上一级电路呈现高阻状态,而对下一级电路呈现低阻状态,常用于中间级,以隔离前后级电路,消除它们之间的相互影响。...

2020-05-12 08:38:00 10154

原创 广耦的应用

光耦:也叫做光电隔离器或光电耦合器。它是以光为媒介来传输电信号的器件。每个器件中都含有成对的发光器(红外线发光二极管LED)与受光器(光敏半导体管,光敏电阻)。当施加电信号到发光器时,发光器发出光线,受光器接受光线之后就电学性能发生变化,从而实现了“电—光—电”转换。光耦的最大作用就是隔离作用和开关作用。将发光器和受光器两端的电气回路隔离开,通过光作为媒介进行传递。也可作为开关。...

2020-05-11 20:04:00 118

原创 MOS管的开关作用

MOS管全称MOSFET,分为P沟道和N沟道。D极(漏极)G极(栅极)S极(源极)G极 就是中间那端;S极,不论是P沟道还是N沟道,两根线相交的就是源极;D极,不论是P沟道还是N沟道,是单独引线的那边。简易记法DGS“大狗屎”。三极管含有寄生二极管,二极管方向与沟道方向相同。三极管导通时候,输入到输出的方向与寄生二极管的导通方向相反。导通条件:N沟道:Ug &g...

2020-05-11 19:56:00 1246

原创 常用蜂鸣器电路

2020-05-11 19:17:00 1286 1

原创 三极管的开关作用

三极管又分NPN型三极管和PNP型三极管。常用NPN三极管为3904,PNP三极管为3906。NPN:NPN三极管的基极为高电平时三极管导通。PNP:PNP三极管的基极为低电平时三极管导通。三极管BE端并联电阻的作用:三极管B-E间电阻不是限流更不是分压,但截止则是相对的,因为 b-e 间有漏电流,而且,作为单片机的I/O口,其“0”状态也不完全...

2020-05-11 19:15:00 1527

原创 STM32的BOOT0 BOOT1的选择

在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:BOOT1=xBOOT0=0从用户闪存启动,这是正常的工作模式。BOOT1=0BOOT0=1从系统存储器启动,这种模式启动的程序功能由厂家设置。BOOT1=1BOOT0=1从内置SRAM启动,这种模式可以用于调...

2020-05-11 16:45:00 1265

原创 itoa()和atoi()函数详解

itoa():将整型值转换为字符串头文件stdio.h 或 stdlib.hitoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数。转换基数为10。10:十进制;2:二进制...itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。可以跟sprintf...

2020-05-11 15:58:00 2706

原创 sprintf函数的使用

可将不同类型的数据以特定的表现形式转换成字符数组。头文件为: stdio.h函数原型:int sprintf(char *buffer, const char *format, [argument]…)用处:1、格式化数字字符串:   如 sprintf(buffer, "%d", 123456);    则buffer即为“123456”的字符数组   如spr...

2020-05-11 15:36:00 202

原创 STM32 IIC协议 HAL库

IIC是多主、多从、单工IIC的串行总线,传输仅需两根线,SDA(数据线)、SCL(时钟线)IIC空闲时SDA和SCL都处于高电平状态(两根线一般情况均接上拉电阻)IIC传输数据的模式为每传输8位后,要通过一个ACK位进行相互确认。个人认为SCL产生上升沿后,设备开始检测SDA的电平,当SDA下降,SCL为高,表示开始工作,以此作为当前传输的数据,SCL的下降沿是作为SDA信息...

2020-04-27 17:36:00 941

原创 IIC、SPI、CAN高速传输速度与选择

IIC:IIC总线的工作速度分为3种版本:S(标准模式):100Kbps,即 100/8 = 12.5KB/sF(快速模式):400Kbps,即400/8 = 50KB/sHS(高速模式):3.4Mbps,即3.4M/8 = 435KB/s具体使用什么工作速度看器件手册。Tip: KBps和Kbps不同,B是Byte,b是bit,1Byte = 8bitSPI:全双工...

2020-04-27 11:49:00 5088

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除