自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (8)
  • 收藏
  • 关注

原创 Linux控制I2C/SMBus设备

平台:树莓派 bcm2835 Raspberry Pi 3 Model B Rev 1.2I2C是Philips开发的一种两线通信协议,常用于一些对速度要求不高的小型器件上。SMBus是系统管理总线,基于I2C协议,大部分情况下二者兼容。这次使用mpu6050作为I2C外设,学习Linux下I2C的应用开发。树莓派默认I2C可能没有打开,需要配置重启,具体方法这里不赘述。最终会在/dev下生成i2c-1设备。1、需要的头文件2、打开I2C设备打开设备文件与打开普通...

2020-11-14 23:54:48 780

原创 GD32VF103之GPIO最小配置

longan nano是Sipeed(矽速科技)推出的开发板,使用兆易创新的gd32vf103cbt6芯片,该芯片是基于芯来科技的Nuclei Bumblebee处理器的32位通用微控制器,Bumblebee处理器是基于RISC-V架构指令集开发,由芯来科技(Nuclei System Technology)和台湾晶心科技(Andes Technology)联合开发。gd32vf103cbt6跟stm32的使用非常相似,如果使用C开发,基本上与指令集架构没啥关系。本文介绍GPIO的最小配置,不...

2020-11-14 23:51:54 1134

原创 GD32VF103之CRC

在GD32VF103内部有一个CRC(循环冗余校验计算单元),使用它可以对数据的完整性和正确性进行校验,比如固件的完整性和正确性校验、通信数据的校验等。它使用固定的32位多项式:0x4C11DB7: X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 。该 32 位 CRC 多项式与以太网 CRC 计算多项式相同。CRC的寄存器只有三个:数据寄存器、独立数据寄存器、控制寄存器。数据寄存器接收输入数据并保存计算结果。独立数据寄存器是一个独立的数

2020-11-14 23:46:32 637

原创 Linux usb live修复Linux grub启动

参考:先装了Linux,之后安装win10导致linux启动不了,想用usb live拯救,通过下面的方法可以。1、挂在分区 先将你的linux所有分区挂载, 挂载根分区:sudo mount /dev/sdxN/mnt 如果给boot和home独立分区,也挂载上来(很重要)。 挂载home:sudo mount /dev/s...

2019-10-10 13:56:49 528

原创 python学习小总结

所有的方法都可以通过官方的文档找到详细的使用说明,方法属性,示例。一般都是通过baidu先查一下,再查看官方文档进一步学习。字符串处理:str.split('a',n),a代表分割字符串,n代表分割几次str.replace('a','b') ,a代表需要替换的字符串,b代表替换后的字符串,可以为空。如果为空相当于去掉指定的字符串。str[n1:n2],截取字符串n1到n2之间的子...

2019-06-26 14:05:50 657

原创 python之股票小工具开发学习

一个简单粗糙的python写的显示股票k线和买卖点的小工具。用了新浪的源,主要是学习python的编程。本软件仅供学习交流,任何问题与本人无关,特此声明。侵删。用到的知识点:1、requests模块获取http网页信息2、matplotlib画图,包括mpl_finance画k线,pyplot画界面,widgets添加小工具代码:1、import reque...

2019-06-25 18:27:16 817

原创 学python之微信跳一跳手动工具版

此工具只用于学习交流使用,侵权删。利用python写一个脚本,精确控制跳的距离。用到的模块:import osimport timeimport randomimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationfrom PIL import Ima...

2019-06-24 12:25:31 247

原创 数莓派Simple Bootloader设计相关知识点

目的:学习数莓派裸机编程需要不断的插拔sd卡,即不方便也加快了磨损,所以设计这个简单的bootloader方便调试。简介:bootloader包括置于sd卡中的镜像和电脑端的下载软件,通过串口可以将新的测试kernel镜像下载到内存中。(minicom功能暂时没有)有下载hex格式和binary方式。设计细节:思路是将bootloader部分放到2M地址处,重启数莓派后进入bo...

2019-06-05 16:08:34 149

原创 vim实用配置

将自己的vim配置写在~/.vimrc文件中。1、set nu :设置显示行号;2、set ts=4:设置tab宽度为四个空格3、set expandtab:将tab用空格替换4、set autoindent:换行自动缩进对齐5、set mouse=n/a/v/h/i/c: 设置鼠标生效模式...

2019-05-20 12:33:49 182

翻译 Ubuntu数据恢复软件testdisk

TestDisk是OpenSource软件,根据GNU通用公共许可证(GPL v2 +)的条款获得许可。TestDisk是功能强大的免费数据恢复软件!它主要用于帮助恢复丢失的分区和/或使这些症状由故障软件引起的非启动磁盘再次启动:某些类型的病毒或人为错误(例如意外删除分区表)。使用TestDisk进行分区表恢复非常简单。TestDisk可以修复分区表,恢复已删除的分区从其备份中恢复F...

2019-05-07 11:46:54 3111

原创 linux的apropos命令

apropos命令与man -k功能相同,列出帮助手册中任意包含关键字的命令名称和简述。

2019-04-08 18:27:41 887

原创 linux的yes命令

yes命令的作用是不断打印指定的内容或者y,直到人为打断。命令:输出:命令:输出:

2019-04-08 18:06:33 1370

原创 Mingw、Cygwin和msys2

Mingwmingw是最简Windows系统GNU开发环境工具集合。没有在Windows部署POSIX运行时环境,网站:http://www.mingw.org/CygwinCygwin是一个在Windows系统上提供类似Linux功能的大型的GNU和开源工具的集合,通过cygwin1.dll提供大量的POSIX API功能,使人们可以在Windows上按照Linux的方式使用。W...

2019-04-04 18:27:14 603

原创 Ubuntu使用记录

一、关于/boot分区大小的说明网上很多教程都说分区大小为200M即可,的确,正常情况下该目录下的文件大小总共也就90M不到,但是系统会更新,这样/boot下会存在多个不同版本的内核和启动相关文件,这是大部分系统提示/boot空间不够用的原因。遇到这种情况可以将旧的内核及相关文件删除。这里也建议以后给/boot分区可以适当分的大一些,比如500M,可以省去不少麻烦。下面说一下移除旧内核的方...

2019-01-07 17:05:51 533

原创 c语言宏的使用

1、用局部代替整体#define ABC(_1,_2,_3,N,...)  N      预处理后用N代替整个宏2、使用__VA_ARGS__代替可变参数#define ABC(a,b,...)   DEF(a,__VA_ARGS__)   预处理后b参数将被丢弃,__VA_ARGS__代表可变参数(...)的宏3、gcc编译带宏使用gcc编译时使用-D选项可以指定一个全局宏,...

2018-11-21 19:21:37 275

原创 初学linux的fork笔记

fork函数用来创建linux进程,使用前需要头文件 #include <unistd.h>,函数原型如下:         pid_t fork(void);执行命令后会创建一个与调用进程相同的进程,调用进程称为父进程,新建的进程称为子进程。两个进程有如下一些特点:1、在父进程中该函数返回子进程的ID号,在子进程中函数返回0;2、子进程与父进程的全局变量名称和地址相同...

2018-11-09 16:23:29 189

原创 peterson算法

peterson算法是通过软件实现互斥的算法,它的实现简单巧妙。算法说明:使用一个bool数组和一个整型变量,前者用来表示是否需要使用共享资源,后者表示谁可以使用共享资源。//使用一个布尔数组和整形变量volatile bool lock[] = {false, false};volatile int turn; 进入lock函数首先将lock[0]变量置为true,tu...

2018-11-08 13:46:17 2890

翻译 UFS之Power Mode

UFS支持7种Power Mode,其中4种基本模式和3种过渡模式。通过START STOP UNIT命令和其他一些属性控制。电源模式独立于上下行链路的状态。1、模式下表列出了7种模式的一些基本信息: Mode Describe M-PHY status Mode transition Acti...

2018-10-29 19:55:13 2383

翻译 UFS之上电和下电

UFS有三组供电电压VCC、VCCQ和VCCQ2,VCC负责闪存颗粒的供电,VCCQ负责闪存输入输出和UFS控制器的供电,VCCQ2则负责M-PHY等低电压模块供电。UFS对三组电源的时序和电压有一定的要求,需要在设计电路和实际操作中注意。1、上电要求定义:        Ta:VCCQ或VCCQ2最先到达300mV的点。要求:在到达Ta以后,VCCQ2应该大于VCCQ-200...

2018-10-29 17:06:26 3773

翻译 UFS之复位

UFS设备有5种复位方式,不同的复位方式实现的方式、产生的效果和作用不尽相同。1、上电复位(Power-on Reset)VCCQ, VCCQ2 and VCC掉电再上电可以触发上电复位,需要上电检测电路来保证系统上电后进入确定的状态。2、硬件复位(Hardware Reset)UFS设备有专用的硬件复位信号,复位信号为低电平有效,电平持续时间应该大于等于1us,小于100ns的信...

2018-10-29 16:18:47 2652

原创 stm32的HAL库i2c从机实现

stm32的i2c默认就是slave模式,本文基于HAL库实现中断方式的接收和发送,首先是初始化gpio和i2c,代码如下:I2C_HandleTypeDef I2cHandle;void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle){ GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC...

2018-08-30 21:34:30 18615 5

原创 c语言常见小错误记录

        使用C编程经常会碰到各种各样的问题,很多问题都是小错误引起的,却不太容易发现,在此记录一下。1、调用空指针        这是一个比较常见的错误,申明了某个类型的指针变量却没有给其赋值,之后直接调用就会发生这种问题,如果在单片机中一般会发生死机的情况。       对于指针的使用,通常都会先判断非空再使用,这样可以极大的避免这类错误。2、类型申明错误      ...

2018-08-02 16:07:11 999

原创 stm32串口HAL库的DMA发送问题

本文使用stm32f411ret的串口1的DMA方式发送数据,刚开始调试的时候发现串口只能发送一次数据,之后就把系统hang住了。通过网上搜资料和不断尝试,发现问题是中断回调函数没有写的原因。使用HAL库的DMA,需要同时实现DMA中断回调函数和串口中断回调函数。void DMA2_Stream7_IRQHandler(void){ HAL_DMA_IRQHandler(Uar...

2018-08-01 00:09:57 7424

原创 Beaglebone相关操作

1、ubuntu通过终端登陆beaglebone2、通过scp复制文件或目录3、创建链接4、WiFi配置     5、加载uio_pruss模块sudo modprobe uio_pruss

2018-07-29 19:27:16 258

原创 stm32的gpio模拟iic小记

在用stm32的模拟iic读取mpu6050时发现读whoami寄存器为0xd1,而正确的值应该为0x68,导致这个问题基本上有以下几个原因:    1、如果是杜邦线连接,线太长且线质量不好会导致这个问题;    2、上拉电阻不合适,上拉电阻不合适的话会导致iic两根线上的波形不好;    3、gpio的输出模式不对,推挽输出可以改为浮空输出。    4、波形不好    解决办...

2018-06-24 10:29:15 2083

原创 Ubuntu重装系统后重新挂载独立的分区的home目录

    Ubuntu系统不明原因不能正常启动,所以想重装系统,最开始装系统时给/home分了独立的分区,所以安装时只格式化了boot和/,想着转好后直接利用原来的home目录,但是装好后发现系统重新建了home,而原来home的分区被独立挂载了。    为了让原来的/home在系统启动时挂载,需要下面一些操作:    1、查看home分区的UUID                2、修改/etc/...

2018-06-07 23:37:50 4089

原创 让Arduino IDE成为非官方板子的开发环境

有时候我们会自己画基于atmega328的板子,也许这个板子与原来的arduino板子有一些差别,比如晶振不同,此时我们可以对Arduino的开发环境做一点小修改,来适配我们自定义的开发板。        在\hardware\arduino\avr路径下有一个boards.txt文件,这个文件中定义了所有arduino官方适配的板子。我们要做的很简单,就是按照它的格式添加一天记录即可,比如:

2016-10-07 11:39:19 5802

原创 ardupilot的libraries之PID

在源码的libraries中,有两个关于PID的源文件文件夹,一个叫AC_PID,另一个是PID。AC_PID中又细分为AC_HELI_PID、AC_P和AC_PID, 这里我们只讨论AC_PID。PID文件夹中只有一个PID类,下面分别列出这两个类中的属性和方法,并大致描述其功能和实现细节,源码请自己下载阅读。    AC_PID    构造函数(略)    float      

2016-03-26 23:40:44 1631 1

原创 Arduino通过串口发送结构体

Arduino的串口有两类发送的函数Serial.print()类和Serial.write()类,前者以Ascii码的形式将要发送的内容编码发送,所以我们最后接收并看到的是一个一个的ASCII码组合而成的数据,本质上成了字符串;后者则以字节形式直接发送原始数据,所以我们在串口接收工具看到的数据是乱码,它们在计算机中就是这样存储的。 有些时候,我们可能会自己定义数据结构,比如结构...

2016-03-18 18:39:16 8660 4

原创 Debian安装Arduino IDE

Arduino是近几年非常流行的一款开源硬件,学习使用后发现,Arduino在Linux下编译要比在Windows下快很多,具体原因我不懂,不过哪个快就用哪个,这时我一惯的作风。Linux系统安装Arduino比较简单,安装包和安装方法在Arduino的官网都有提供,网址:https://www.arduino.cc/en/Guide/Linux安装包下载好以后,解压可以双击操作,也可以用

2016-03-12 14:22:33 1846

原创 C语言中易被忽略或者混淆的东西

大学一年级开始学C 语言,但许多知识还不是很清楚,有些则停留在概念阶段,实际操作时常常搞的乱七八糟。为了更深入理解C语言,把一些概念和知识记录下来,以方便查阅。C 语言中最常出现的就是变量和函数,而且有不同的类型,变量有auto,static,register,extern,函数有static和extern。对于变量:auto:一般我们在函数内部申明的没有特殊关键词的变量都是a

2016-03-11 17:15:25 797

原创 Debian8初始配置

安装sudodebian默认没有sudo用户,这对于安装软件及一些需特权的操作很不方便,安装sudo指定普通用户有系统管理的权限。首先,切换到root用户下root# su root确定后输入root密码输入以下指令root#aptitude install sudo                //安装sudoroot# chmod +w /etc/sudo

2015-11-02 12:29:23 2318

原创 Debian8安装

系统下载和安装1、下载Debian的下载是很方便的,在浏览器输入Debian,第一个或第一页能够直接看到他的官网链接https://www.debian.org/,点击进入官网,点击Getting Debian,进入选择下载项的页面,这个页面提供了多种下载方式——网络、liveCD、BT下载等等,根据自己的喜好选择一个,个人比较喜欢BitTorrent下载。DVD一般下载前两张

2015-11-01 14:14:19 1585

原创 GRUB2引导修复

本来是想把GRUB2装到U盘,却不小心把电脑的GRUB搞坏了。原因可能是我执行命令grub-install时没有加任何参数,由于不知道没有参数怎么执行,我赶紧ctrl+c终止了安装,最后重启后发现系统无法启动,进入了grub rescue模式。庆幸的是,重启之前我成功给u盘装了grub2,这可帮了我大忙了。其实恢复GRUB有多种方式,比如用系统盘或U盘启动盘,我这种方式主要是为了熟悉GRUB,

2015-11-01 12:33:10 10180 1

原创 ArduPilot/APM源码学习笔记(一)

最近开始学习ArduPilot/APM飞控的源码, 源码托管在github上。源码链接:https://github.com/diydrones/ardupilot。飞控主页:http://ardupilot.com/;飞控的开发者官网网址为:http://dev.ardupilot.com/。学习源码主要在开发者(developer)网页,官方提供了较为详细的代码编译和源码学

2015-10-11 10:33:43 6420

原创 GitHub的Markdown语法笔记

文本处理加粗:用**或__将想要加粗的对象括起来,例:**BOLD**斜体:用*或_将要斜体显示的对象括起来,例*Italic*代码输入(注意:` 不是 ',前者为键盘左上角与波浪线同一按键的符号,不是后者单引号)1、可以在想要以代码显示的字段前输入4个空格2、用```将要显示为代码的字段表示出来,例:      ```(代码类型:Python、JavaScript .et

2015-10-01 22:30:11 704

翻译 Ubuntu下useradd使用笔记

1.作用useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是root用户或第一个有root权限的用户。2.格式useradd [options] name3.options(选项) -b:新账户的家目录的基目录;-c:加上备注文字,备注文字保存在passwd的备注栏中;-d:新账户的家目录;-D:打印或改变默认的useradd配置;-e:指定账

2015-10-01 20:26:45 711

april tag.pdf

april tag的标志和id号 AprilTag是一种视觉基准系统,适用于各种任务,包括增强现实,机器人和相机校准

2019-07-17

st专业图形栈库

该库是一个专业的图形堆栈库,利用STM32硬件加速,允许在任何STM32上、任意LCD/TFT显示器和任意LCD/TFT控制器建立图形用户界面(GUI),

2018-09-19

modbus电脑端软件

一款modbus电脑端工具,实现modbus协议的主机,方便调试modbus设备

2018-09-19

focaltech高通驱动

focaltech的高通驱动代码,文档中有移植说明,芯片手册,Android的apk

2018-09-17

Linux系统i2c设备工具

i2c设备测试工具的源码,用于linux平台检测、操作i2c设备,包括扫描挂在i2c总线的设备地址、读写设备的寄存器等等。 https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/

2018-07-28

freertosv9的自解压和zip包

freertos的自解压包和zip包, freertos是开源的嵌入式操作系统,非常适合小型低成本嵌入式方案

2018-06-05

jlink-v8固件下载软件和v8固件

sam-ba软件可以给jlink下载固件,v8固件是目前用的比较多的固件,但由于国内的jlink不稳定,常常丢固件,所以这个工具很有用。

2018-05-27

eagle 原理图转ad原理图脚本

该脚本作用是eagle原理图转ad原理图,在原版基础上进行了一些修改,修复了一些bug。使用该脚本转换后的ad原理图可能会存在问题,需要进行一些修改。本脚本适合对这些软件工具较熟悉、有经验的用户使用,新手慎用。该脚本只可用于学习交流,本人不对其使用后果负责。

2016-11-27

空空如也

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

TA关注的人

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