自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CLK线的初始(空闲)状态与设置不匹配:the inital(idle) state of the CLK line does not natch the setting

今天在使用逻辑分析仪的时候出现了这样一个问题,在进行SPI的第一帧数据分析的时候老是报这样一个错误:the inital(idle) state of the CLK line does not natch the setting(CLK线的初始(空闲)状态与设置不匹配),之后我通过查找资料才知道,原来是因为我的时钟CLK初始状态是高电平,但是我在逻辑分析仪上设置使用的是SPI的模式为SPI0,之前的文章也提到过,SPI0模式就是SPI的时钟相位(CPHA)为0和时钟极性(CPOL)为0,解析是按照CPOL

2020-09-08 20:44:43 1807

原创 STM32中GPIO口八种工作模式简介及LED灯测试

STM32中GPIO口八种工作模式简介及LED灯测试一、GPIO口八种工作模式二、 LED灯测试一、GPIO口八种工作模式在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式和4种输出模式:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)

2020-07-28 19:31:56 2420

原创 F4新建工程寄存器版和库函数版(详细讲解)

F4新建工程寄存器版和库函数版一、寄存器版二、寄存器版一、寄存器版(一)、准备工作1、新建一个文件夹,名字随意,路径随意,自己能找到就行,建议不要放在C盘2、在该文件夹中新建三个文件夹,名字随意,不要用中文,建议按照我的写startup—启动代码project—新建工程入口user—官方的.c .h文件(变量定义的,官方库)、工程师自己写的代码3、在user文件夹中新建一个文件夹,用于存放工程师自己写的代码,名字随意不要用中文,习惯是命名API(二)、向文件夹添加文件1、添加启动

2020-07-28 17:43:13 789

原创 Linux字符设备驱动利用传参实现读写功能(学习笔记二)

在之前的学习笔记一中实现了简单杂项字符设备驱动模型的注册,但是伴随着一些问题,读写函数没有发挥作用,写进去的数据没有读出来,经过这两天的学习我终于知道原来编写字符设备驱动代码不仅要编写上层(就是用户层)用户代码,还要编写底层(就是内核层)相关函数的代码才行,所以上次当然不会得到数据这一次对上次的代码进行改动,用传参的方式实现简单的读写功能首先是用户层代码app.c的编写,几乎没怎么改动#include <stdio.h>#include <sys/types.h>#incl

2020-07-11 17:36:32 335

原创 Linux简单杂项设备注册详细步骤(学习笔记)

关于注册杂项设备需要以下几个文件root@s:/driver/rootfs/module/misc# lsapp.c Makefile misc_module.cmisc_module.c文件代码如下:#include <linux/kernel.h>#include <linux/module.h>#include <linux/miscdevice.h>#include <linux/fs.h>#define NISC_DEVNAM

2020-07-07 20:29:35 322

原创 内核模块化编程:单模块传参、多模块、多模块合成一个模块

首先进入到当天的文件夹single里放的是单模块编程,multi放的是多模块编程,all_for_one放的是将多模块合成一个模块的编程。1、single目录中存放了一个.c和一个Makefile文件root@s:/driver/rootfs/module/single# lsfirst_module.c Makefilefirst_moudle.c的代码如下:#include <linux/kernel.h>#include <linux/module.h>i

2020-07-06 20:53:26 199

原创 sourceinsight4086-setup安装步骤及使用

准备工作,两个应用程序和一个许可证第一步:双击第二个应用程序设置安装路径①双击之后等待电脑自动操作之后弹出如下界面,点击next②点击同意协议,点击next③点击change选择软件保存路径④点击install安装⑤安装完成,点击finish第二步:安装成功后桌面会出现一个图标右键选择打开文件所在位置选择准备工作中的第一个应用程序,复制到上面文件所在位置,选择复制和替换选项之后就可以双击打开软件,情况就像下面这样,另外还会有一个小的框,里面有三个选项,有一个30天

2020-07-03 20:20:33 597

原创 Ubuntu64位下vim出现中文乱码的解决办法

今天在我用vim打开文件时突然出现了中文乱码的问题,情况就像下面这张图一样,而且我的Ubuntu可以说是刚装几天也没有乱装乱改东西,整的我一头雾水之后我就在网上查找解决办法,由于刚开始方向找错了找了好久都没解决,最后终于查找到了解决办法,方法很简单,在/etc/vim/vimrc路径打开vimrc配置文件,在末尾添加如下代码:set fileencodings=gb2312,utf-8 set fileencoding=gb2312 set termencoding=utf-8 下面是修改

2020-07-02 16:43:35 136

原创 友善之臂tiny4412嵌入式Linux操作系统启动流程分析

本次介绍一下友善之臂tiny4412嵌入式Linux操作系统分析首先,可以从官方提供的用户手册中得到这样一张图,它简单表达了裸机烧写启动系统的流程,不过这张图中缺少对BL2的描述,所以我就自己手绘了一张草图对照理解,图形如下启动流程大致可以分为以下几个步骤:步骤一:执行iROM中的固化代码(BL0)首先系统上电后根据OM pin引脚的电平判断启动方式,Tiny4412核心板提供了四种启动方式(如下图),但是友善之臂tiny4412 只做了两种启动方式:SD卡启动和eMMc启动。一般进行烧写时都会

2020-06-30 22:10:06 530

原创 Ubuntu64位操作系统交叉编译器的安装

安装交叉编辑器可以在一个平台上编译生成另一个平台需要的可执行程序,这在学习驱动操作系统的时候是一个必不可少的工具,由于在开发板上编辑代码运行操作系统很受限制,所以基本上我们都会选择在电脑上完成编辑再使用交叉编辑器生成所需要的适应平台的可执行程序。接下来就是我在学习过程中学习到的在Ubuntu64位操作系统下安装交叉编辑器的方法。1、安装32位的库由于32位与64位不兼容性等问题,如果直接安装交叉编辑器可能会失败,需要安装一些32位的库才能成功,使用指令如下:root@s:/home/shang# a

2020-06-29 17:57:01 490 2

原创 简析SPI,对SPI的简单代码编写,模拟SPI

1、定义:SPI是一种通信接口,串行外围设备接口2、作用:主要负责Flash和单片机之间的通信3、通信方式:高速的串行同步全双工4、结构:环形总线结构,发送一个数据的同时还需要接收一个数据5、四线结构:CLK、CS、MISO、MOSI6、SPI有四种工作模式,由时钟极性(CPOL)和时钟相位(CPHA)决定SPI0和SPI3是一样的,上升沿采样,下降沿输出SPI1和SPI2是一样的,下降沿采样,上升沿输出简单代码编写如下:// CS -- PA4、CLK -- PA5、MISO -- PA

2020-06-28 20:25:04 842

空空如也

空空如也

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

TA关注的人

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