自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lzs940320的博客

不忘初心,方得始终

  • 博客(178)
  • 资源 (9)
  • 收藏
  • 关注

原创 ARM体系结构学习分享

花了好长时间整理的转载请注明出处:一提起ARM芯片就会跟出来好多介绍,例如是什么哈佛体系结构啊,什么Cortex-M系列啊,什么ARM指令集啊等介绍,而这些东西又都是什么意思呢,又是怎么起源的呢,让我们逐个的进行梳理,防止以后看到一款芯片,根本看不懂是什么意思。一.ARM概念区分1.经常有人提起stm32会有人叫他cortex-M3(M4),为什么叫Cortex-m3呢ARM公...

2019-05-09 10:22:19 2499

原创 19.RT-thread项目实战--TouchGFx列表滑动效果

我们在wifi扫描的时候或者数据列表显示的时候,都需要滑动列表功能。本节参考官方demo先实现官方的demo,然后再进行扩展,实现自己的功能。效果可以下载官方demo自己查看一下。推荐博客:https://blog.csdn.net/dejun_qiu/article/details/104963834一.TouchGFx Designer中设计布局1.添加自定义组件,滚动条元素自定义控件中,一个背景图片,一个图标,一个文本。2.添加列表控件,在屏幕中添加背景图片、Scr

2021-01-15 10:56:07 2196 2

原创 18.RT-thread项目实战--TOUCHGFx添加温度曲线

在我们的设备中为了查看数据的变化,趋势,一般习惯使用个图形曲线进行表示,这节我们结合官方的demo来实现下模拟温度曲线功能的实现。注:控件的添加过程不详细说明,可以查看之前的 TouchGFx的页面布局,文章有详细说明1.添加滑动控件的操作函数2.设置曲线的相关参数包括样式,颜色,x,y的间隔,点数等,这个要和silder控件要对应好。不然就会出现报错。3.添加代码menu_1_1_View.cpp(根据实际的对应文件来)然后添加silder控件的回调函数,和定时器定

2021-01-15 10:20:04 1638

原创 17.RT-thread 项目实战--TouchGfx添加时钟控件

在工业设备中,时间是必不可少的,我们在之前的项目中我们也添加了RTC,和网络校时功能,现在我们要在屏幕上添加时钟控件,可以方便查看时间。一.我们在页面布局的时候添加了两种时钟。一个是图形的,一个是数字显示的,那么怎么让他走起来,怎么校时呢?当我们拖入控件之后,已经帮我们完成了一部分的代码了。1.打开menu_1View.cpp(我们添加空间的那个界面对应的文件)void menu_1View::setupScreen(){ menu_1ViewBase::setupScree

2021-01-15 10:02:22 1578

原创 16.RT-thread项目实战--TouchGFx添加小弹窗

在项目中出现故障信息,或者是常见的设备信息等都需要小弹窗,当然小弹窗的实现方式也有很多,下面就讲一个touchgfx 设计器自带的一种方式。一.添加小弹窗(1)效果如下:点击设备信息按钮后,弹出小窗口,显示设备信息点击设备信息后,出现弹窗。然后点击叉号后,退回到主界面。弹窗的应用比较常见,方法也比较多,本节就使用一个touchgfx的一个控件(2)Modal Window控件(3)给该控件添加背景图片,和一个按钮(也就是叉号)注意,最后该控件,属性要设置成隐.

2021-01-15 09:45:49 973

原创 15.RT-thread项目实战--TouchGFx控制LED亮灭及图标切换

上节我们已经把大概的界面布局已经完成了,还有一些关键的布局需要涉及到交互,所以这节开始学习一些交互的知识。一. 通过屏幕控制硬件LED打开及关闭,并控制灯的图标切换。1.灯图片布局调整这是我们上节布好的界面,注意灯的图片选择了两张图片,重叠放在了一起,一张是灰色,一张是黄色,并且黄色属性初始状态下设置为隐藏。如下图:2.添加按钮事件(1)添加按钮按下后,会触发的函数。(2)添加按钮按下后,切换灯图片的逻辑bulbYellow1.setVisible(!b..

2021-01-15 09:29:07 1549 2

原创 14.RT-thread项目实战--TouchGFx界面效果优化

一.前言上节中我们实现了页面的初步的布局,整体效果看起来还不错,但是有两个问题需要进行优化。1.随着项目的增加,图片资源越来越多,同时为了升级方便,我们需要把位图资源存放在SD卡或者扩展FLASH中2.界面切换不流畅,影响效果二.从文件系统中读取图片资源https://blog.csdn.net/sinat_31039061/article/details/109763842此部分内容,参考大神博客,不讲述原理,只快速实现,记录操作过程,详细内容查看链接博客。1.打开链接脚.

2021-01-10 19:29:47 1771 3

原创 13RT-thread项目实战--TouchGFx页面布局

一.前言上节我们已经在板卡上成功运行了官方的demo,接下来我们要基于demo开始我们自己的项目布局了,因为TouchGfx 应用层和硬件层实现了很好的分离,所以我们将这部分的学习分为三个阶段:页面布局(添加需要的页面,图标等) 页面与硬件的交互逻辑添加 整体联调,进行优化二.准备工作1.界面所需要的背景图片下载好看的背景可以提升显示的效果,一般项目的开发都会有专门的美工,但是我们就只能使用丑陋的图片,当然不,网上一搜,有很多美化好的背景图,选几张,自己调整下分辨率。这里推荐.

2021-01-10 14:36:32 941 1

原创 12.RT-thread 项目实战--TouchGFx快速实践

一. 前言本节讲述如何在ART-Pi上应用TOUCHGFX,暂时不讲述复杂的原理。先看到效果,才有兴趣深入的使用.我们的项目中屏幕显示是必不可少的,说一下选择的过程。1.gui的选择:touchgfx虽然占用高,使用C++语言,但是它有图形界面开发工具,并且效果酷炫,果断在LVGL,stemwin几种主流的GUI中选择了touchgfx2.屏幕选择(art-pi比较小,所以选择了正点原子的4.3寸 IPS 800*480 RGB,触摸驱动芯片:GT9147)管脚兼容,且显示效果还挺不错的。.

2021-01-08 16:36:53 2347 3

原创 11.RT-thread项目实战--usb_device 模拟读卡器

一.前言在上节我们实现了FTP网络传输功能,实现了通过网络对设备的文件进行读写的功能,但是我们要是没网呢,想要导出数据文件怎么办??首先想到了USB,这次我们通过usb的otg接口,实现一个模拟读卡器的功能,将设备插入到电脑后,将我们的sdcard作为一个U盘,我们就可以直接通过电脑进行拷贝了。此次我们选用了usb-device模式,usb提供的复合设备类型,可以让给usb添加虚拟串口及读卡器的功能,这里只说读卡器功能。目前rt-thread的usb组件通过此次的添加,发现还是有一些不稳定的

2021-01-06 13:56:05 5502 5

原创 10.RT-thread项目实战--添加FTP和NTP网络服务

一.前言上节我们完成了网络功能的添加,现在我们要添加一些网络实用的小功能。添加RTC时钟,并添加NTP自动校时 添加ftp功能,通过网络对flash及sd卡内容进行读取写入操作这两个功能是非常实用的,我们的设备记录一些报警信息的时候,时间是必不可少的,为了时间的准确性,我们需要添加NTP网络校时功能。同时我们的报警文件,只要设备连网,通过ftp服务就可以实时导出设备内的文件,那岂不是非常的方便,炫酷。二.添加RTC时钟,并添加NTP自动校时1.确保板卡网络连接:2..

2021-01-06 11:57:23 3457 1

原创 9.RT-thread 项目实战--添加wifi和net双网卡

一.ART-PI网络功能ART-PI中有两种网络连接方式:1.一个是他自带的wifi模块AP6212,这个模块是蓝牙和wifi一体的,使用的是SDIO接口。2.一个是通过工业扩展板,的网口,网口芯片使用的是LAN8720A二.RT-studio中进行网络配置1.在studio中直接打开开关就可以了。这时候进行代码编译,下载。可以看到打印信息,网络初始化成功。但是此时网络还是没有连接成功的。2.wifi 网络连接,通过终端命令进行...

2020-12-24 16:42:58 5395 5

原创 8.RT-thread 项目实战--添加各类文件系统

在一个嵌入式项目的设计阶段,不但要选择硬件存储方案,也要对软件的存储方案进行选择,硬件选择方案参考之前的一篇文章。https://blog.csdn.net/lzs940320/article/details/111353349软件上方案也有很多的讲究。同时向大家推荐大神的博客参考:https://blog.csdn.net/sinat_31039061/article/details/104145805https://blog.csdn.net/sinat_31039061/artic

2020-12-23 18:59:23 2435 5

原创 7.RT-thread 项目实战--FreeModbus协议的移植

在工控设备中,modbus协议是应用非常广泛的,所以我们的demo集成modbus,并通过modbus进行参数的设置及存储。一.基于led的工程进行,modbus RTU功能的实现。1.打开RT-thread settings功能设置,添加freemodbus 软件包,设置为从机模式我们先使能一下demo,看下是如何实现的,我们再进行相应的优化,完成自己的modbus 从机模式,实现参数的设置。2.扩展板的232接口使用的是usart6,使能串口6,并将modbus的接口改为6.

2020-12-22 17:54:42 2799 3

原创 6.RT-thread项目实战--ART-PI使用RT-thread studio建立工程

1.环境下载github地址:https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpiart-pi地址:https://art-pi.gitee.io/website/2.rt-studio更新到最新版本rt-studio 更新SDK3.新建ART-pi的工程。使用 RT-Thread Studio 开发应用如下图所示创建一个工程:填写工程名称;选择 Base On .

2020-12-22 17:35:34 2263

原创 带你分清嵌入式常用存储器

在我们的嵌入式式设备中,包括芯片内部,存储器是必不可少的。我们都知道手机中有运存和内存也就是常说的4GB+16GB等,我们的嵌入式设备同样有。除去芯片内部的RAM和FLASH,我们还会外扩一些外部存储器,处于成本和项目规划角度,我们清晰的知道每个存储器的作用是什么,在特定场景下是否能够省掉来节约成本等,包括之后我们规划软件架构的时候,用什么文件系统等都要求我们了解嵌入式存储器。如上图所示,我们要明确每个器件存在的必要性,比如我们的设备需求简单,直接一个单片机就搞定了,简单的参数,直接存到MCU.

2020-12-18 10:05:00 1075

原创 5.RT-thread 项目实战 -- 项目升级计划

最近RT-thread 推出了开源硬件ART-PI,功能强大,各方小伙伴们也提供了很多的demo,于是决定把当前项目的平台转到ART-PI上进行开发,开发环境还是使用RT-thread stdio,并且对之前的软件功能做了一些调整扩展。接下来就梳理下升级的计划。最近事情较多,更新速度较慢,之后会尽量加快速度。...

2020-12-10 15:21:34 1597 8

原创 4.RT-thread 项目实战--fatfs文件系统移植

本次进行spi flash(w25q128)的文件系统实验(fatfs)。fatfs是我们常用的文件系统,之后可以用这个操作系统进行设备初始化参数,ini文件的读取实验,.csv报警数据的一个存储,通过tftp远程进行文件导出,或者通过sd卡进行一个文件导出,所以这个实验作为一个基础实验,方便后期项目中进行直接复用。一.实验环境 开发板 微雪电子 Core746I,Open746I-C,及w25q128扩展板 IDE ..

2020-11-17 09:47:16 5354 2

原创 软件设计模式--软件设计演变过程

一.写这篇文章的原因1.为什么学习了c语言,学习了面向对象思想,还是看不懂linux源码??2.C语言能够使用设计模式吗??3.为什么要有软件设计模式?不学行不行?4.怎么能够成为一个好的开发者,为什么有经验的人比你开发快,代码架构还好?5.C++作为C的扩展,为什么开始使用面向对象?为什么都说C++难学?6.JAVA,C++中都有设计模式,到底和我们的项目开发有什么联系?在不断的学习提升中,这些问题一直困扰着我,但是一直得不到一个很好的答案,不经意的看到一篇文章后,恍然大悟,决

2020-11-12 16:42:05 1856 2

原创 85.Linux--设备树(下)

上一节我们已经对设备树有了一定的了解。那么我们这次通过一些实例进行一下巩固。首先我们回忆一下整个的发展过程。一.回顾设备树发展过程任何的字符设备驱动的编写,Linux已经为我们打好了框架,我们只要像做完形填空一样填写进去就可以了。(字符设备驱动框架) 通过这个框架,我们可以很容易编写我们的驱动代码,但是,当我们用这个框架非常熟练的时候,我们就会发现虽然这个方法很简单,但是非常不容易扩展,当我们有很多很多相似设备的时候,如果我们都是按照这个框架来完成,那就要写很多遍这个流程,...

2020-11-06 15:27:36 364

原创 84. linux--设备树(上)

我们在编译的时候,会发现要编译一下设备树文件,那么为什么要多此一举加这个文件?这个文件有什么作用呢??一.设备树的由来(驱动框架的演进)总体来讲,产品的开发越来越简单,架构越来越复杂,开发工作量减少。原始架构依然很重要,里面的知识并没有被淘汰,只是被封装和继承了。Linux 2.6版本,封装了原始架构,更加抽象,引入了设备驱动模型(sysfs)。使做产品更省事,实现了应用程序与驱动程序的分离其实从驱动程序的演进过程我们就会发现,设备树的引入是一种必然。为什么要使用..

2020-11-05 14:48:14 674 1

原创 82.Linux--IIC总线驱动框架(上)

我们的嵌入式中,外设经常通过IIC总线进行设备连接gsenor: 重力传感器,eeprom: 存储设备等,但是在linux中基于平台总线抽象出了IIC总线模型,逻辑实现上变的复杂,但是我们在使用上就变的简单了,我们需要理解linux中的IIC总线框架。一.IIC 总线驱动框架I2C驱动有4个重要的东西,I2C总线、I2C驱动、I2C设备、I2C设备器I2C总线:维护着两个链表(I2C驱动、I2C设备),管理I2C设备和I2C驱动的匹配和删除等 I2C驱动:对应的就是I2C设备的驱动程.

2020-11-03 15:32:07 370

转载 linux I2C总线驱动框架

本文为转载,只为方便复习,如有侵权请联系我。1、i2c子系统软件框架 应用 ------------------------------------------ i2c driver:从设备驱动层 需要和应用层进行交互 封包数据,不知道数据是如何写入到硬件 ------------------------------------------ i2c 核心层:维护i2c 总线,包括i2c driver, i2c clie

2020-10-28 16:05:21 406

原创 81.linux-输入子系统实现原理

我们为什么要用输入子系统?我们为什么要分析输入子系统源码??之前的学习中我们也知道了字符设备驱动的编写方法,嵌入式系统中有很多不同类型的输入系统,触摸屏,键盘等,难道我们都要按照流程编写一遍吗?当然不是我们肯定是想把可复用的部分抽象出来,只改变差异化的东西,输入子系统就帮我们做了这个工作,并提供了API,这样的好处肯定是简化我们的工作量啊,好多的代码都可以省略掉了。但是不好之处就是在不了解输入子系统框架的情况下,代码理解上有些困难,不了解它是怎么实现的。目的:a,学会如何分析内核中子系统的代码,

2020-10-28 15:40:16 310

原创 C 语言面向对象思想

注:本博客参考了很多大神的文章加上自己的理解,只做学习复习用一. C语言面向对象设计引入1.我们为什么要学习面向对象思想???在我们平时的开发中也经常会遇到一些简单的项目我们很快就完成了,并且测试着也没有任何问题,但是随着产品迭代,需求增加,项目维护起来越来越耗时,一个看似简单的需求,需要花费较多的时间去开发,出现项目延期。项目超期的很大一部分原因都是因为代码“牵一发动全身”,当我们的项目需求在累加的过程中,功能相近的应用我们也习惯性的复制,粘贴。导致出现了很多的冗余代码,同时业务逻辑与执.

2020-10-22 10:52:58 3718 5

原创 c语言内存管理2

课程纲要目录一. C语言内存管理模型 11.c/C++定义了4个内存区间: 12.栈区和堆区优缺点: 13.堆内存的分配与释放(malloc/free) 24.变量的存储类型 2二.内存管理应用举例 3一.C语言内存管理模型1.c/C++定义了4个内存区间:代码区 静态变量区 栈区 堆区(动态存储区)代码区:存放CPU执行的机器指令,代码区是可共享,并且是只读的。(指令,常量字符串) 静态区:所有的 全局变量+静态变量(static)...

2020-10-22 10:20:59 245

原创 80.输入子系统下--驱动多个按键

一. input dev结构体在上一节中我们通过输入子系统的方式实现了按键驱动的编写。1.input dev我们在应用层中:通过ret = read(fd, &event, sizeof(struct input_event));读到统一的数据包。在驱动中:input_event(inputdev, EV_KEY, KEY_POWER, 0); input_sync(inputdev);//上报数据结束进行数据上报。驱动的初始化中: inpu...

2020-09-15 16:47:11 1101 2

原创 79.输入子系统(上)

一. 输入子系统的引入1.为什么要使用输入子系统?在之前的学习中我们学习了平台总线,在设备驱动层中,将硬件相关易变的数据与稳定算法进行分离(device(中断/地址)和driver(操作逻辑)),例如对外设串口,gpio的操作都是一样的,只是地址不一样。在这样的分离机制上,我们很容易进行平台的迁移,比如现在我们换个板卡只需要更改对应的设备树文件就可以了。但是在之前的代码编写过程中,我们也发现了假如有多个输入设备需要驱动的时候,a, gt811 注册设备号,创建设备文件,硬件初始化,...

2020-09-15 11:53:02 370

原创 78.高级驱动学习方法

回顾一下之前的字符设备驱动编程:  1,实现入口函数 xxx_init()和卸载函数 xxx_exit()  2,申请设备号 register_chrdev_region (与内核相关)  3,注册字符设备驱动 cdev_alloc、cdev_init、 cdev_add (与内核相关)  4,利用udev/mdev机制创建设备文件(节点) class_create, device_create (与内核相关)  5,硬件部分初始化    io资源映射 ioremap,内核提供gpio库函数

2020-09-14 20:47:52 287

原创 77.平台总线

上一节我们通过代码实现了设备驱动模型,这节我们所说的平台总线就属于模型中的一种,实现思路与驱动模型是一致的。在设备驱动模型的基础上添加上了一些新的内容,已及特定的功能。一. 平台总线模型: 为什么会有平台总线: 用于平台升级:三星: 2410, 2440, 6410, s5pc100 s5pv210 4412 硬件平台升级的时候,部分的模块的控制方式,基本上是类似的 ...

2020-09-14 15:07:51 238

原创 76.设备驱动模型

一. 设备驱动模型由来先复习下字符设备的编写步骤1,实现入口函数 xxx_init()和卸载函数 xxx_exit()2,申请设备号 register_chrdev (与内核相关)3,利用udev/mdev机制创建设备文件(节点) class_create, device_create (与内核相关)4,硬件部分初始化 io资源映射 ioremap,内核提供gpio库函数 (与硬件相关) 注册中断(与硬件相关)5,构建 file_operation结构 (与内核相关) 6,实现操...

2020-09-14 11:31:40 432

原创 75.中断下半部

在之前的程序中我们在中断驱动中,使用了阻塞,非阻塞,多路复用,异步信号等,中断驱动代码也正常的使用,中断部分的知识也算是完成了,但是当我们的程序正常执行过程中,我们中断到来会打断正常执行的程序,我们的中断处理任务肯定不能执行太长时间,否则就影响任务的正常执行了,但是在有的操作中,我们在中断中的执行时间就需要很长,这个时候就需要中断下半部。一.tasklet实现tasklet模型: struct tasklet_struct { struct ...

2020-09-13 17:34:52 227

原创 74.异步通知在驱动中的应用

异步信号通知: 当有数据到时候,驱动会发送信号(SIGIO)给应用,就可以异步去读写数据,不用主动去读写。之前的几种方式都需要应用去主动检测状态来确认是否有事件发生。一. 异步信号的应用方法 a,应用--处理信号,主要是读写数据void catch_signale(int signo) { if(signo == SIGIO) {...

2020-09-13 10:32:54 211

原创 73.多路复用POLL在驱动中的应用

之前在网络的进程开发中,我们有学习过多路复用,这次我们将select,poll应用到我们的按键驱动中。主要应用于单线程,单进程中同时读取多个设备或文件的情况。具体可以复习下“42.Linux网络编程--IO多路复用”章节。一 .POLL的函数实现 函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 参数 参数1: 表示多个文件描述符集合 ..

2020-09-13 08:49:11 225

原创 72.linux驱动中断--非阻塞模式和阻塞模式(下)

在上一节中我们完成了按键中断的编写,进行编译,然后在终端下装载驱动,并执行应用程序,这里功能已经实现了但是有个问题,通过ps,然后top命令查看一下资源占用情况,发现key的这个程序的资源占用非常的高。其实也不难发现,我们的应用程序一直在循环的读取,当然占用高。也侧面的说明我们的程序是有问题的。那么我们怎么降低资源的占用??也很容易想到,没数据了就休眠去,让出资源。一.通过等待队列的方法实现阻塞如上图所示,没有数据的时候就进入休眠,有数据的时候在进行唤醒,继续进行调度。说到阻塞,我们

2020-09-12 21:07:36 487

原创 71.linux驱动--中断(中)

上一节我们只是能够正常的触发中断,但是程序并不知道我们是按下还是抬起,并且作为字符驱动也没有最基本的open read等函数,应用层是无法操作我们的按键驱动的,那么我们在上节的基础上进行完善。一. 实现字符设备驱动的框架 1,设定一个全局的设备对象(struct key_desc) key_dev = kzalloc(sizeof(struct key_desc), GFP_KERNEL);2,申请主设备号 key_dev->dev_...

2020-09-10 23:19:47 238

原创 70.linux驱动--中断

在之前的单片机入门的时候也是hello world,然后led,然后按键中断。下面我们要开始中中断部分的学习。,在之前的裸机开发中,我们已经了解了中断的开发步骤,在内核中使用按键触发中断,会变的更容易一些,因为内核已经帮我们完成了很多工作,我们只需要理解整个调用及修改过程。soc中有很多的中断,我们通过中断号进行区分是哪个中断,然后写对应的中断处理函数。如何获取中断号?1, 宏定义(中断相关的头文件) IRQ_EINT...

2020-09-10 21:30:20 530

原创 6.stm32 低功耗设计--总结

一. 需求分析阶段1.1 引入随着近几年电子产品的高速发展,出现了各式各样的便携式产品,他们的发展趋势必将是更小、更轻,功能更强大。那么在产品的开发过程中,需要在满足需求中性能指标后,尽可能的优化产品功耗。我们做不到 让马儿跑,又让马儿不吃草,但是可以合理的规划它跑的路线和时间段。1.2 需求分析举例以某公司手环为例:(以下故事纯属瞎编)老板偶然看到别人带了个智能手环挺好,然后回来就决定自己也要做手环,吩咐产品经理去调研市面上的手环(竞品分析),产品经理通过调研发现小米的手环..

2020-09-09 16:40:53 10783

原创 69.ARM裸机开发--中断(补充)

一. ARM中断硬件层面:中断也属于异常的一种,我们平时开发常用的就是定时器中断,按键外部中断等。初始化过程就是要过五关斩六将,获得许可之后才能到达最后的cpu核。二.中断过程软件层面1. 中断初始化 a. 管脚初始化 b. 中断控制器初始化2.中断向量表 a.中断发生后,硬件自动跳转 b. 现场保护 c. 调用中断处理3.中断处理 a. 根据中断号做相应处理 b. 清中断标志 c. 现场恢复...

2020-09-08 23:32:47 578

原创 68.ARM裸机开发--USART操作(补充)

一.设备间通讯单线 双线 uart (全双工 异步) 双线 i2c (半双工 同步) 三线 spi (全双工 同步) 并行通讯 多根数据线 地址线,如内存二.串口通讯协议三. 串口内部机制四.串口编程1.初始化 管脚设置为UART模式 串口协议设置(奇偶校验为,数据位等) 串口波特率设置2.发送字符 发送状态判断 发送3.接收字符后环回 接收状...

2020-09-08 22:23:32 399

LSM6dsl.zip

陀螺仪的应用越来越多,lsm6dsl在功耗,体积和性能方面都很出色,其实我们都习惯漫天找资料,其实有这两个文档就够了。

2020-03-26

STM32F103+LSM6DSL.zip

LSM6DSL 加速度计 陀螺仪传感器,驱动。控制芯片使用stm32将传感器的数据通过串口打印出来,使用stm32F103CBt6主控,驱动内包括IIC及SPI两种方式,我使用的IIC方式,SPI方式将初始化调用部分修改一下即可使用。

2019-08-14

标准库转LL库工具

从网上下载的stm32标准库转LL库工具,亲测真实可用,但是该工具存在局限性,很多代码不能转化,所以该工具适合作为学习参考,开阔思路使用。

2018-06-26

LL库使用手册 stm32L4xx 手册

随着st系列芯片的升级,之前的工程基本使用标准库开发,但是之后的芯片只支持HAL库和LL库,就涉及到项目的迁移,虽然官方资料都提供了,但是很难针对性的找到需要的文档。想从标准库移植到LL库需要以上文档就够了(我的项目是从stm32f103将代码移植到stm32L476时用的)

2018-06-26

stm32外部中断

越是基础的东西学习的时候越容易忽略,这个stm32外部中断模板,适合以后工作中测试使用

2018-03-08

stm32 内部ADC的使用

stm32内部ADC使用非常多,这个是我平时测试经常用的模板,非常适合初学者

2018-03-08

stm32 spi指导文档

在学习stm32 spi的时候总有一些概念分不清,这个文档希望能在你学习spi时有些帮助

2018-03-08

lwip 学习资料

lwip学习含金量比较高的文档,想学好lwip这些足够了。

2018-03-08

光立方串口程序

光立方串口程序,实现光立方的串口接收。很实用的额

2015-06-13

空空如也

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

TA关注的人

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