自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (6)
  • 收藏
  • 关注

原创 LVGL8_小型环境检测仪

LVGL8_小型环境检测仪前言项目介绍硬件资源MCU资源软件资源原理描述,项目成品效果演示==如果有兴趣制作,或者想要参考代码或者模型,请一键三连 B站私信我邮箱==项目开始LVGL8移植显示移植STM32CubeMX的设置定义显示缓存修改函数LV_Conf.h的修改编码器输入移植拨轮设置文件系统移植STM32CubeMX的设置ADC+DMAPWM驱动蜂鸣器SquareLineFusion360建模过程前言为了学习LVGL8这是一个冗长的项目,中间很多问题,有使用STM32F411的VCAP引脚画错

2022-05-26 14:44:36 1307

原创 LVGL的PC端移植和STM32F429阿波罗开发板移植

LVGL 8.1_学习总结LVGL介绍LVGL开发环境LVGL的GitHub的代码介绍LVGL8.1 在F429上面的移植准备修改lv_port_disp.c文件中的修改lv_port_indev.c函数实现touchpad_read函数在项目中调用所有需要用到lvgl库函数实现demo例程修改lv_conf.h中的配置宏定义在lv_demo_conf.h打开widgets例程宏定义在主循环之前调用在定时器中调用在主循环中调用LVGL介绍一款开源GUI库,适合嵌入式开发,对资源要求小。适用单片机开发和其

2021-10-08 16:06:58 1527 7

原创 STM32F103TIM1高级定时器PWM使能代码

void TIM1_PWM_Init(u16 arr,u16 psc){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);// RCC_APB2PeriphClockCmd(RCC_APB

2020-12-18 14:10:43 2595

原创 STM32硬件IIC的BUG问题

问题描述大概是这样,使用STM32硬件IIC作为主机通讯,只要不发送错误的从机地址,通讯一直都是没问题的,因为验证程序的关系,所以在程序中修改了一下从机地址,这时候就出现了问题,下面直接看图把使用这段代码修改从机的地址后显示从机地址修改成功,但是后续的通讯使用新地址却失败,笔者反复探究,观察后发现,发送一个错误的从机地址尝试一次通讯,后续是用正确的地址也会失败。本着好奇心用逻辑分析仪,仿真后发现。情况是后续的通讯从机有回复应答,但是STM32硬件的IIC没有识别到这个应答。仿真中的寄存器情况是这样

2020-10-29 19:12:31 7226

原创 使用CubeMX设置STM32F429的LTDC+DMA2D显示,以及JPG图片软件解码,以及文件系统

硬件环境开发板:阿波罗开发板->429核心板RGB屏:正点原子4.3 800*480显示屏1.根据硬件接口配置STM32的引脚首先看整点原子开发板的RGB屏的接口,它是一个RGB565的接口,以及DMA2D使用了外部SDRAM。然后根据引脚来配置CubeMX的设置LTDC配置注意:如果你直接设置RGB565会自动配置图形界面的IO口,其实他是和正点原子原理图的IO不一致的,所以还是要先去设置IO口,再去使能这个LTDC模块。2:这个0xC000 0000这个地址是STM32的FM

2020-08-16 22:35:04 6051

原创 STM32+WIFI模块(EMW3080)使用MQTT协议链接阿里云服务器

这次学习说起来道阻且长,因为年底事情多,加上疫情在家,电脑不在身边,前前后后竟然用了三月之久。总的来说还算是完成了1.是使用庆科EMW3080模块来连接阿里云服务器的,模块刚到手的时候,因为固件的问题迟迟使用不了,后来按照售后发给我的文件重新刷了一遍固件才能使用AT指令。然后就可以开始了。首先可以用串口助手按照下面的步骤来尝试连接阿里云的服务器,虽然阿里云有提供C语言的SDK,但是看了下源码...

2020-03-30 21:46:26 5025 1

原创 那些我们一起踩过的STM32HAL库的串口坑

写在前面之前面试听一位面试官问我有没有使用过HAL库和 STM32CubeMX,那时候只是再原子的例程上看到过。但是他跟我力荐,于是不由自主的对STM32CubeMX产生了一定的好感。自己再这一年里断断续续使用过STM32CubeMX以及HAL库,一直没有再项目中使用过,于是我终于等到一个机会。项目简介项目不方便细说,大概就是使用华为9094G模块连接服务器通讯,并且处理服务器的数据,来操纵...

2019-12-12 11:57:36 11506 16

原创 FreeRTOS学习(1)

FreeRTOS因为先前学习过UCOS,所以再学习FreeRTOS起来,相对理解起来轻松很多。也怪自己,今年年初那段时间学习UCOS,并对应写了一个项目练习。之后就迷茫不知道干嘛,浑浑噩噩过了几个月,才意识到今年快完了。再来学习FreeRTOS,现在前者有很多印象模糊的地方。(学习还是一个持之以恒的事情啊)半途而废真的很忌讳。硬是要比较两者之间的差别,我也说不出来,刚开始学习FreeRTOS...

2019-10-27 22:07:27 275

转载 (转)非常经典的按键处理程序

核心算法:unsigned char Trg;unsigned char Cont;void KeyRead( void ){unsigned char ReadData = PINB^0xff; // 1Trg = ReadData & (ReadData ^ Cont); // 2Cont = ReadData; ...

2019-08-22 10:02:04 474

转载 MAX公司命令标准

MAXIM前缀是“MAX”。DALLAS则是以“DS”开头。MAX×××或MAX××××说明:1后缀CSA、CWA 其中C表示普通级,S表示表贴,W表示宽体表贴。2 后缀CWI表示宽体表贴,EEWI宽体工业级表贴,后缀MJA或883为军级。3 CPA、BCPI、BCPP、CPP、CCPP、CPE、CPD、ACPA后缀均为普通双列直插。举例MAX202CPE、CPE普通ECPE普通带抗静...

2019-07-13 11:02:11 348

原创 STM32CubeMX学习记录

写在前面为了跟上时代的变化,适应该快的技术发展,最近开始学习ST公司近几年的开发工具CubeMX,和近些年力推的HAL库。软件安装时使用需要注意的问题安装软件之前需要安装JAVA。软件的安装路径和HAL库的路径,还有生成的工程的保存路径,都不要有中文,还有电脑用户名最好也不要有中文名。都是没有自己的核心技术的痛啊,只能迁就一下别人公司对中文的支持。不然的话,你在使用CubeMX的生成工...

2019-06-16 22:19:23 244

原创 用STM32F103使用OLED屏实现贪吃蛇游戏

偶然一天突发奇想想在MCU上实现一个小游戏,综合现有硬件开发资源和开发能力,想来想去贪吃蛇最为合适。有之前朋友留给我的一块四轴飞行器遥控器的电路板,上面有摇杆按键和OLED瓶。STM32F103R8T6。于是决定在这块板子上开发。移植UCOS-II这个就说了,参考正点原子移植的例程,然后拷贝UCOS代码过来,没有什么难度。写OLED,LED,摇杆按键RCT,24L01驱动这个也不想多说。...

2019-06-04 23:50:50 4897

转载 场效应管原理

场效应管是较新型的半导体材料,利用电场效应来控制晶体管的电流,因而得名。它的外型也是一个三极管,因此又称场效应三极管。它只有一种载流子参与导电的半导体器件,是一种用输入电压控制输出电流的半导体器件。从参与导电的载流子来划分,它有电子作为载流子的N沟道器件和空穴作为载流子的P沟道器件。从场效应三极管的结构来划分,它有结型场效应三极管和绝缘栅型场效应三极管之分。1.结型场效应三极管(1) 结构N沟道结...

2019-05-16 10:35:49 1345

原创 STM32F103步进电机梯形匀加速算法

最近公司的一个项目用带驱动器的步进电机,奈何,经理让我搞个匀加速的启动和停止。以前从来没考虑过算法的我,走了很多弯路,不过最后还是解决了这个问题。梯形加减速应该是指数加速算法和S型加速算法中最简单也最容易实现的一个算法。(图画的不好见谅)在加速阶段和减速阶段将时间分成很多等分,这样由vt关系可得,s=v*t就是单位时间内,发送给步进电机的脉冲数(我的细分数1000,也就是1000个脉冲一圈...

2019-04-17 08:45:14 12037 3

转载 S型步进电机加减速运动(STM32)

<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"> <link rel="stylesheet" href="https://csdnimg.c...

2019-04-09 11:20:59 5526 5

转载 ARM发展史

本文从ARM的发展历史着手,以S3C2440为例与51单片机进行对比分析,详细解析了ARM架构。先来谈一下ARM的发展史:1978年12月5日,物理学家Hermann Hauser和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市...

2019-04-07 23:26:37 785

原创 UCOS学习日(7)信号量集AND内存管理

信号量集的结构有时候一个任务需要多个信号资源才可以进行,这时候我们就需要信号量多个信号量之间也可以有逻辑运算,比如全0有效,一个0就有效。全1有效,一个1就有效信号量的结构体叫标记组OSFlagFlags是一个U16的变量,它是一个位图也就是说可以有16个信号OSFlagType 是一个固定的宏OS_EVENT_TYPE_FLAGSOSFlagWaitList指向了该信号量集的所有等...

2019-04-01 22:35:08 172

原创 UCOS学习日(6)互斥信号量,消息邮箱,消息队列

互斥信号量如果有三个任务ABC,优先级的顺序也是ABC,A和C共用一个信号。如果在C占用信号的时候,A处于等待状态,当B处于就绪状态的时候就会打断C任务的执行,从而影响A任务得到信号量。这样B任务就会出现优先级的反转。UCOS中引出一个互斥信号量来解决这个问题。互斥信号量会在使用的过程中暂时的提高两个任务的优先级比任何任务的优先级都高,从而尽快使用完共享资源, 在释放完信号量以后恢复正常的优先...

2019-03-31 21:40:33 1143

原创 UCOS学习日(5)任务间的通讯,事件控制块,信号量的详细操作

任务间的通信任务之间的协调运行非常有必要,否则系统将会出现非常严重的问题。UCOS提供一个事件控制块来控制任务之间的通讯事件的类型信号量互斥信号量消息队列消息邮箱信号量计数器统计信号量的数消息邮箱或消息队列的指针等待事件的任务组和任务等待表类似于任务就绪表一样的结构任务对应位为1就表示任务为该事件的等待任务。而系统初始化时,也会根据最大任务OS_MAX_EVENTS来...

2019-03-30 15:26:00 359

原创 UCOS学习日(4)中断和时钟

UCOS的中断UCOS系统发生了中断的时候,响应的过程如下1.保存CPU的寄存器,中止当前任务。2.跳转到中断子程序中。3.中断子程序执行完成之后,使用中断级调度器去调度,任务就绪表中优先级最高的任务。注意:由于中断允许嵌套,所以进一次中断UCOS中有一个OSIntNesting全局变量++一次,退出的一个中断就把OSIntNesting - - 一次。当中断嵌套未0 ,且调度器没被上锁...

2019-03-28 23:37:57 259

原创 UCOS-II学习日(3)任务的创建以及任务的操作管理

UCOS对任务的操作任务的创建,删除,挂起,等操作都是通过系统函数来实现的UCOS可以使用OSTaskCreate()或者OSTaskCreateExt()来创建任务UCOS创建任务的一般方法在OSInit()函数调用后,创建一个start_task()任务,在start_task()任务中创建我们要创建的任务(正点原子的源码中是这样做的)任哲老师的书中是直接在OSInit()之后,...

2019-03-24 23:39:45 1317

原创 UCOS学习日(2)-任务堆栈和任务切换的更详细的剖析

任务堆栈昨天详细说了任务控制块,今天接着说一下任务堆栈昨天说到STM32的堆栈地址是默认这种类型的,简单的说就是,栈顶高地址,向下增长◎ Full descending 满递减堆栈 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。任务控制块及其链表UCOS中一次定义了两个链表。一个空白的任务控制块链表,一个是已经初始化好分配给任务的任务...

2019-03-23 00:27:04 1303

原创 UCOS-II 系统的原理和任务-学习日(1)

写在前头本人嵌入式小辣鸡,本着好记性不如烂笔头的懒惰想法,在网上码起字来。说的容易,还是光看,然后想一想舒服,不过这样也是容易忘得很快。写下自己的想法,和感受更有助于巩固,和以后的复习。所以决定动起手指。敲出来。如笔记中有理解错误,逻辑混乱不流畅的地方,欢迎大牛指正讨论,私信交流。不接受批评!学习参考资料《正点原子STM32F428UCOS开发手册》-原子哥《嵌入式实时操作系统UCOS-I...

2019-03-21 23:57:39 1822

转载 STM32堆栈描述,与任哲书中最接近

参考一堆栈是一种数据结构,按先进后出(First In LastOut,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(FullStack),而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack)。同时...

2019-03-21 21:56:15 270

转载 STM32堆栈问题。内存问题。大小端问题。

在开源电子中看到一篇文章讲的是栈增长和大端/小端问题。学C语言的时候,我们知道堆栈的区别:1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于数据结构中...

2019-03-21 21:18:24 331

转载 RS422通讯应用电路(MAX488)

bikey 密钥bikey 密钥解锁更多姿势首页私人影院FENX影院 博客改版说明关注 新浪微博 RSS订阅 Hi, 请登录 当前位置:bikey 密钥 &gt; 随手记 &gt; 单片机利用MAX488通信的应用电路单片机利用MAX488通信的应用电路7个月前 (08-02)分类:随手记阅读(943)评论(0)...

2019-03-13 17:31:19 10101 1

转载 PCB布线技巧分析

布线是PCB设计过程中技巧最细、限定最高的,即使布了十几年布线的工程师也往往觉得自己不会布线,因为看到了形形色色的问题,知道了这根线布了出去就会导致什么恶果,所以,就变的不知道怎么布了。但是高手还是有的,他们有着很理性的知识,同时又带着一些自我创作的情感去布线,布出来的线就颇为美观有艺术感。&nbsp;&nbsp;&nbsp; 下面是一些好的布线技巧和要领:...

2019-03-06 15:26:07 518

转载 STM32堆栈和UCOS堆栈(转载)

本博文分为3部分,分别为启动代码篇,C堆栈篇,和STM32堆栈和uCOS堆栈区别篇.***********************************************①启动代码篇***********************************************前年毕业时,去了意法半导体...

2019-03-02 14:48:43 985 1

转载 ARM指令和THUMB指令的区别

ARM处理器的工作状态在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态。《嵌入式系统开发与应用教程(第2版)》上介绍说:有两种状态ARM状态和Thumb状态,当时初学甚为不解,现在一知半解时再看忽然想到了显示中的例子: ARM核就好比一个高中学校,那种包含普通高中和职业高中的。普通高中就相当于ARM状态,职业高中就相当于Th...

2019-02-25 21:45:31 7190

转载 thumb和ARM指令的区别

Thumb指令集&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thumb指令可以看做是ARM指令压缩形式的子集,是针对代码密度【1】的问题而提出的,它具有16为的代码密度。Thumb不是一个完整的体系结构,不能指望处理程序只执行Thumb指令而不支持ARM指令集。因此,Thumb指令只需要支...

2019-02-25 21:39:18 793

转载 汇编中的指令

跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转:(1) 使用专门的跳转指令。(2) 直接向程序计数器 PC 写入跳转地址值。通过向程序计数器 PC 写入跳转地址值,可以实现在 4GB 的地址空间中的任意跳转,在跳转之前结合使用MOV LR , PC等类似指令,可以保存下一条指令地址作...

2019-02-25 21:35:00 105

转载 转载别人的博客

在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http:...

2019-02-25 21:34:23 87

原创 无源蜂鸣器_PlayMusic

实验器材: 单片机开发板 无缘蜂鸣器 电解电容 三极管 若干电阻电容电路图有面包板可以用面包板搭电路,而本吊就厉害了,用塑料袋。实验阶段搭完电路后,连上单片机和电源,随便给个1khz的PWM波信号,发现声音有点大,而且极其刺耳,声音质量不太理想。思前想后,决定在供电端加一个电阻来限流,帮助减小音量之后声音果然小了很多,也没有那么刺耳了,不过毕竟是无源蜂鸣器,而且本吊技术有...

2018-12-05 09:11:56 1688

转载 EDID学习详解

1、显示器的第24个字节是设置显示器的电源管理标准的。 各个位的作用如下,注意到标号为1的位是关于主画面。3、Gamma源于CRT的响应曲线,即反映显像管的图像亮度与输入电子枪的信号电压的非线性关系的一个参数。对于CRT显示器而言,显像管电子枪发出的电子束及其生成的图像亮度并不是随显像管的输入电压线性变化,电子流与输入电压相比...

2018-11-15 15:10:28 2508

原创 SIL9687读数据手册零碎笔记

1.工作原理图1.SPDIF 音频 任意一个端口都有音频输入 中间这部分是音频返回通道ARC引脚用于传输音频源,在SPDIF_IN上接收端口处理器支持HDMI 1.4b规范中描述的音频返回通道(ARC),该通道将一个S/PDIF音频信号从HDMI接收器传输到TMDS数据流相反方向的HDMI源。ARC简化了用户的音频连接和切换。2.Static RAM Block(SRAM)EDID...

2018-11-10 17:31:00 1697 3

_My_RGB.zip

使用CubeMX设置STM32F429的LTDC+DMA2D显示,以及JPG图片软件解码,以及文件系统

2020-08-16

AD9851BRSZRL中文手册.pdf

可用于DDS技术输出方波最高可达180Mhz。芯片小贵,但是好用。数据手册,已翻译为中文,可无障碍阅读。

2020-06-09

摇杆项目.zip

使用了UCOS来做任务调度,然后再OLED屏幕上实现RTC时钟,贪吃蛇小游戏,还有2.4G无线通讯,

2019-06-04

MDIN380demo板源码

MDIN380demo板驱动源码,MDIN380图像处理IC,功能强大用途广泛。支持无缝切换,画中画

2019-03-24

sil9687驱动代码

SIL9687驱动代码,demo例程。SIL9687支持HDMI1.4版本,HDCP解码

2019-03-24

sil9687A芯片数据手册

sil9687芯片数据手册,支持HDMI1.4版本 HDCP解码

2018-11-09

空空如也

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

TA关注的人

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