自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 输入特定字符进入uboot

./.进入uboot

2022-07-20 15:13:00 248 1

原创 linux应用层读写idt8a34002

spi读写idt8a34002

2022-07-04 16:06:22 264

原创 pca9548及vsc9548的设备树简单挂载

简述pca9548及vsc9548是iic拓展器件,主要是防止iic器件地址冲突通过写其0x0寄存器可切换0-7路iic设备树挂载这里用到了vsc9548,且在第7路上挂在了eeprom器件i2c@ff030000 { compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; status = "okay"; interrupt-parent = <0x4>; interrupts = <0x0 0x12 0x4&g

2022-04-24 11:09:12 1192

原创 Linux下spi读写flash

1.在设备树中添加flash&dspi { fpga_flash@3 { compatible = "w25q32"; reg = <3>; spi-max-frequency = <10000000>; };};2.在内核菜单添加对应驱动│-> Device Drivers│ -> Memory Technology Device (M

2022-01-06 19:58:42 4407

原创 Linux读写eeprom

在设备树中挂载对应驱动并在kernel 编译菜单中添加对应驱动例如:对iic1上的0x50地址的eeprom进行挂载即可对/sys/bus/i2c/devices/1-0050/eeprom进行open write read操作可对该文件进行软链接到/dev/下#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include &

2021-12-21 10:10:52 1771

原创 linux用户层通过spi读写cpld

cpld的通讯格式会有不同我这使用的是32bit 需反转的写时序:读时序:#include <stdint.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <getopt.h>#include <fcntl.h>#include <sys/ioctl.h>#inc

2021-10-29 10:47:42 1068

原创 linux用户层下通过spi配置idt8a34002

#include <stdint.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <getopt.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/types.h>#include <lin

2021-10-28 20:04:15 239

原创 linux用户层下通过i2c配置Si5395

#include<stdio.h>#include<linux/types.h>#include<fcntl.h>#include<unistd.h>#include<stdlib.h>#include<sys/types.h>#include<sys/ioctl.h>#include<errno.h>#include<assert.h>#include<string.h&gt

2021-10-28 19:58:17 360

原创 初探MYD-AM335x开发板

MYD-AM335x(NAND)安装工具部署开发环境Ubuntu 16.04 64位桌面版$ sudo apt-get install build-essential git-core libncurses5-dev u-boot-tools $ sudo apt-get install flex bison texinfo zip unzip zlib1g-dev gettext $ sudo apt-get install gperf libsdl-dev libesd0-dev $ su

2021-05-21 10:10:09 742

原创 docker入门笔记

文章目录安装DOCKER盛科编译环境安装过程:1.安装虚拟机2.安装docker一键安装手动安装3.安装镜像4.正确加载镜像后,需要把代码拷贝到docker容器内,5.进入相应目录,执行make进行编译Docker基本概念Docker三个核心概念1.镜像(Image)2.容器(Container)3.仓库(Repository)Docker基本流程旧镜像->新镜像有两种方法docker是怎么工作的docker为什么比VM快Docker常用基础指令1.docker images2.docker run3

2021-05-20 20:40:04 79

原创 I/O驱动框架

#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init module_exit声明#include <linux/init.h> //__init __exit 宏定义声明#include <linux/device.h> //class devise声明#include <linux/uaccess.h>

2021-03-26 13:10:11 102

原创 Linux网络编程学习笔记

网络编程进程间通讯 依赖Linux内核 存在功能缺陷:无法多机通讯 ——就要用到网络编程地址(找到谁)IP地址:标识设备端口:提供访问通道 访问服务FTP服务器的TCP端口号21TeLnet服务器TCP端口号23TFTP服务器UDP端口号69数据(对话)协议(http,tcp/udp,串口等) 一种数据格式tcp协议:面向连接 (AB打电话)连接可靠,精细操作udp协议:面向报文(AB发短信)连接不可靠,数据量大,内存响应快字节序字节序是指多字节

2021-03-12 17:29:36 90

原创 Linux线程学习笔记

线程进程进程是程序执行时的一个实例,是担当分配系统资源的基本单位。一个进程在同一时刻只能做一件事情。进程有独立的空间进程是线程的容器线程线程有自己的堆栈和局部变量,但线程没有单独的地址空间优点:1.节俭的多任务操作方式 2.方便的通信机制pthread库支持基本概念:线程创建 pthread_create#include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr

2021-03-09 09:11:29 71

原创 Linux进程间通信学习笔记

进程间通信进程间通信(IPC)是指在不同进程之间传播或交换信息IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信息量、共享存储、Socket、Streams等。其中Socket、Streams支持不同主机上的两个进程IPC无名管道通常指无名管道,是UNIX系统IPC最古老的形式特点半双工(只能同时进行一组读写),具有固定的读端和写端只能用于具有亲缘关系的进程之间的通信(父子进程/兄弟进程)可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write等函数。但它不是

2021-03-09 09:10:59 81

原创 Linux进程学习笔记

进程每个进程都有一个非负整数表示的唯一ID,叫做pidpid=0 交换进程 进程调度pid=1 init进程 系统初始化getpid 获取自身的进程标识符getppid 获取父进程的进程标识符父进程与子进程进程A创建了进程BA父进程 B子进程父子进程是相对概念C程序的存储空间的分配[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-th1YSyos-1615252193600)(C:\Users\Hasee\AppData\Roaming\Typora

2021-03-09 09:10:18 64

原创 Linux文件学习笔记

Linux操作系统提供的API权限可读 r 4可写 w 2执行 x 1例:0600 可读可写(给文件所有者)静态文件与动态文件静态文件: 文件存在磁盘中动态文件: open静态文件后,​ linux内核产生一个结构体记录该文件(内存记录该文件)read/write 都是对动态文件进行操作 close将动态文件更新到静态文件文件描述符Linux系统默认: 0 1 2​ 标准输入 标准输出 标准错误op

2021-03-09 09:08:38 73

原创 C语言学习笔记

int整形 float带小数 char字符& 取地址符号(变量名所代表的变量内存地址)*取内容符号(内存地址中的数据),只有在定义一个指针变量时,作为指针的标识符函数在被调用时才会在内存里有空间switch选择里 字符用单引号 ‘A’int指针偏移占四个字节 char指针偏移占一个字节数组的[]只有在定义一个数组时,才表示数组大小,其余是都表示下标数组元素个数=数组总大小/一个数组类型的大小 sizeof()形式参数中,中括号中数组的大小是无..

2021-03-09 09:07:42 68

原创 STM32两轮自平衡小车——PID

#include "control.h"float Med_Angle = -1.4; //»úеÖÐÖµfloat Vertical_Kp = -348, //Ö±Á¢»·Kp Vertical_Kd = -0.9; //Ö±Á¢»·Kd£¨´ýµ÷£©float Velocity_Kp = 0.35, //ËٶȻ·Kp£¨´ýµ÷£© Velocity_Ki = 0.00175; //ËٶȻ·Ki£¨´ýµ÷£©float Turn_Kp

2021-03-09 09:04:14 3359 2

原创 STM32两轮自平衡小车(学习记录)——编码器

编码器正反转正转的时候信号线A先输出信号,信号线B后输出 A相超前B相90度 证明是正转反转的时候信号线B先输出信号,信号线A后输出 B相超前A相90度 证明是反转STM32编码器模式三种模式1.仅在TL1计数(A相)2.仅在TL2计数(B相)3.在TL1和TL2都计数(A相和B相都计数)计数一个脉冲信号周期完成4次跳变。1时刻:TI2为低电平,TI1上升沿跳变,计数器向上/向下计数;2时刻:TI1为高电平,TI2上升沿跳变,计数器仍然向上/向下计数;3时刻:TI2为高电平

2021-01-07 11:12:31 674 2

原创 STM32两轮自平衡小车(学习记录)——MPU6050

摘要MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。由于其体积小巧,功能强大,精度较高,不仅被广泛应用于工业,同时也是航模爱好者的神器,被安装在各类飞行器上驰骋蓝天。MPU6050的数据是有较大噪音的,若不进行滤波会对整个控制系统的精准确带来严重影响。MPU6050芯片内自带了一个数据处理子模块DMP,已经内置了滤波算法,在许多应用中使用DMP输出的数据已经能够很好的满足要求。移植过程移植需要官方代码dmpKey.hdmpmao.hinv.

2021-01-07 10:26:40 1289

空空如也

空空如也

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

TA关注的人

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