学习笔记
文章平均质量分 83
我又不会射雕
恰同学少年
展开
-
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 · 2005 阅读 · 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 · 2806 阅读 · 0 评论 -
使用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 · 7207 阅读 · 0 评论 -
STM32+WIFI模块(EMW3080)使用MQTT协议链接阿里云服务器
这次学习说起来道阻且长,因为年底事情多,加上疫情在家,电脑不在身边,前前后后竟然用了三月之久。总的来说还算是完成了1.是使用庆科EMW3080模块来连接阿里云服务器的,模块刚到手的时候,因为固件的问题迟迟使用不了,后来按照售后发给我的文件重新刷了一遍固件才能使用AT指令。然后就可以开始了。首先可以用串口助手按照下面的步骤来尝试连接阿里云的服务器,虽然阿里云有提供C语言的SDK,但是看了下源码...原创 2020-03-30 21:46:26 · 5239 阅读 · 1 评论 -
FreeRTOS学习(1)
FreeRTOS因为先前学习过UCOS,所以再学习FreeRTOS起来,相对理解起来轻松很多。也怪自己,今年年初那段时间学习UCOS,并对应写了一个项目练习。之后就迷茫不知道干嘛,浑浑噩噩过了几个月,才意识到今年快完了。再来学习FreeRTOS,现在前者有很多印象模糊的地方。(学习还是一个持之以恒的事情啊)半途而废真的很忌讳。硬是要比较两者之间的差别,我也说不出来,刚开始学习FreeRTOS...原创 2019-10-27 22:07:27 · 319 阅读 · 0 评论 -
UCOS学习日(5)任务间的通讯,事件控制块,信号量的详细操作
任务间的通信任务之间的协调运行非常有必要,否则系统将会出现非常严重的问题。UCOS提供一个事件控制块来控制任务之间的通讯事件的类型信号量互斥信号量消息队列消息邮箱信号量计数器统计信号量的数消息邮箱或消息队列的指针等待事件的任务组和任务等待表类似于任务就绪表一样的结构任务对应位为1就表示任务为该事件的等待任务。而系统初始化时,也会根据最大任务OS_MAX_EVENTS来...原创 2019-03-30 15:26:00 · 409 阅读 · 0 评论 -
UCOS学习日(6)互斥信号量,消息邮箱,消息队列
互斥信号量如果有三个任务ABC,优先级的顺序也是ABC,A和C共用一个信号。如果在C占用信号的时候,A处于等待状态,当B处于就绪状态的时候就会打断C任务的执行,从而影响A任务得到信号量。这样B任务就会出现优先级的反转。UCOS中引出一个互斥信号量来解决这个问题。互斥信号量会在使用的过程中暂时的提高两个任务的优先级比任何任务的优先级都高,从而尽快使用完共享资源, 在释放完信号量以后恢复正常的优先...原创 2019-03-31 21:40:33 · 1227 阅读 · 0 评论 -
UCOS学习日(7)信号量集AND内存管理
信号量集的结构有时候一个任务需要多个信号资源才可以进行,这时候我们就需要信号量多个信号量之间也可以有逻辑运算,比如全0有效,一个0就有效。全1有效,一个1就有效信号量的结构体叫标记组OSFlagFlags是一个U16的变量,它是一个位图也就是说可以有16个信号OSFlagType 是一个固定的宏OS_EVENT_TYPE_FLAGSOSFlagWaitList指向了该信号量集的所有等...原创 2019-04-01 22:35:08 · 208 阅读 · 0 评论 -
ARM发展史
本文从ARM的发展历史着手,以S3C2440为例与51单片机进行对比分析,详细解析了ARM架构。先来谈一下ARM的发展史:1978年12月5日,物理学家Hermann Hauser和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市...转载 2019-04-07 23:26:37 · 820 阅读 · 0 评论 -
UCOS学习日(4)中断和时钟
UCOS的中断UCOS系统发生了中断的时候,响应的过程如下1.保存CPU的寄存器,中止当前任务。2.跳转到中断子程序中。3.中断子程序执行完成之后,使用中断级调度器去调度,任务就绪表中优先级最高的任务。注意:由于中断允许嵌套,所以进一次中断UCOS中有一个OSIntNesting全局变量++一次,退出的一个中断就把OSIntNesting - - 一次。当中断嵌套未0 ,且调度器没被上锁...原创 2019-03-28 23:37:57 · 311 阅读 · 0 评论 -
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 · 5779 阅读 · 5 评论 -
STM32CubeMX学习记录
写在前面为了跟上时代的变化,适应该快的技术发展,最近开始学习ST公司近几年的开发工具CubeMX,和近些年力推的HAL库。软件安装时使用需要注意的问题安装软件之前需要安装JAVA。软件的安装路径和HAL库的路径,还有生成的工程的保存路径,都不要有中文,还有电脑用户名最好也不要有中文名。都是没有自己的核心技术的痛啊,只能迁就一下别人公司对中文的支持。不然的话,你在使用CubeMX的生成工...原创 2019-06-16 22:19:23 · 284 阅读 · 0 评论 -
(转)非常经典的按键处理程序
核心算法: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 · 501 阅读 · 0 评论 -
UCOS学习日(2)-任务堆栈和任务切换的更详细的剖析
任务堆栈昨天详细说了任务控制块,今天接着说一下任务堆栈昨天说到STM32的堆栈地址是默认这种类型的,简单的说就是,栈顶高地址,向下增长◎ Full descending 满递减堆栈 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。任务控制块及其链表UCOS中一次定义了两个链表。一个空白的任务控制块链表,一个是已经初始化好分配给任务的任务...原创 2019-03-23 00:27:04 · 1510 阅读 · 0 评论 -
RS422通讯应用电路(MAX488)
bikey 密钥bikey 密钥解锁更多姿势首页私人影院FENX影院 博客改版说明关注 新浪微博 RSS订阅 Hi, 请登录 当前位置:bikey 密钥 > 随手记 > 单片机利用MAX488通信的应用电路单片机利用MAX488通信的应用电路7个月前 (08-02)分类:随手记阅读(943)评论(0)...转载 2019-03-13 17:31:19 · 10837 阅读 · 1 评论 -
EDID学习详解
1、显示器的第24个字节是设置显示器的电源管理标准的。 各个位的作用如下,注意到标号为1的位是关于主画面。3、Gamma源于CRT的响应曲线,即反映显像管的图像亮度与输入电子枪的信号电压的非线性关系的一个参数。对于CRT显示器而言,显像管电子枪发出的电子束及其生成的图像亮度并不是随显像管的输入电压线性变化,电子流与输入电压相比...转载 2018-11-15 15:10:28 · 2750 阅读 · 0 评论 -
无源蜂鸣器_PlayMusic
实验器材: 单片机开发板 无缘蜂鸣器 电解电容 三极管 若干电阻电容电路图有面包板可以用面包板搭电路,而本吊就厉害了,用塑料袋。实验阶段搭完电路后,连上单片机和电源,随便给个1khz的PWM波信号,发现声音有点大,而且极其刺耳,声音质量不太理想。思前想后,决定在供电端加一个电阻来限流,帮助减小音量之后声音果然小了很多,也没有那么刺耳了,不过毕竟是无源蜂鸣器,而且本吊技术有...原创 2018-12-05 09:11:56 · 1768 阅读 · 0 评论 -
转载别人的博客
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http:...转载 2019-02-25 21:34:23 · 105 阅读 · 0 评论 -
汇编中的指令
跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转:(1) 使用专门的跳转指令。(2) 直接向程序计数器 PC 写入跳转地址值。通过向程序计数器 PC 写入跳转地址值,可以实现在 4GB 的地址空间中的任意跳转,在跳转之前结合使用MOV LR , PC等类似指令,可以保存下一条指令地址作...转载 2019-02-25 21:35:00 · 251 阅读 · 0 评论 -
thumb和ARM指令的区别
Thumb指令集 Thumb指令可以看做是ARM指令压缩形式的子集,是针对代码密度【1】的问题而提出的,它具有16为的代码密度。Thumb不是一个完整的体系结构,不能指望处理程序只执行Thumb指令而不支持ARM指令集。因此,Thumb指令只需要支...转载 2019-02-25 21:39:18 · 867 阅读 · 0 评论 -
ARM指令和THUMB指令的区别
ARM处理器的工作状态在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态。《嵌入式系统开发与应用教程(第2版)》上介绍说:有两种状态ARM状态和Thumb状态,当时初学甚为不解,现在一知半解时再看忽然想到了显示中的例子: ARM核就好比一个高中学校,那种包含普通高中和职业高中的。普通高中就相当于ARM状态,职业高中就相当于Th...转载 2019-02-25 21:45:31 · 7454 阅读 · 0 评论 -
STM32堆栈和UCOS堆栈(转载)
本博文分为3部分,分别为启动代码篇,C堆栈篇,和STM32堆栈和uCOS堆栈区别篇.***********************************************①启动代码篇***********************************************前年毕业时,去了意法半导体...转载 2019-03-02 14:48:43 · 1076 阅读 · 1 评论 -
PCB布线技巧分析
布线是PCB设计过程中技巧最细、限定最高的,即使布了十几年布线的工程师也往往觉得自己不会布线,因为看到了形形色色的问题,知道了这根线布了出去就会导致什么恶果,所以,就变的不知道怎么布了。但是高手还是有的,他们有着很理性的知识,同时又带着一些自我创作的情感去布线,布出来的线就颇为美观有艺术感。 下面是一些好的布线技巧和要领:...转载 2019-03-06 15:26:07 · 700 阅读 · 0 评论 -
UCOS-II学习日(3)任务的创建以及任务的操作管理
UCOS对任务的操作任务的创建,删除,挂起,等操作都是通过系统函数来实现的UCOS可以使用OSTaskCreate()或者OSTaskCreateExt()来创建任务UCOS创建任务的一般方法在OSInit()函数调用后,创建一个start_task()任务,在start_task()任务中创建我们要创建的任务(正点原子的源码中是这样做的)任哲老师的书中是直接在OSInit()之后,...原创 2019-03-24 23:39:45 · 1403 阅读 · 0 评论 -
STM32堆栈问题。内存问题。大小端问题。
在开源电子中看到一篇文章讲的是栈增长和大端/小端问题。学C语言的时候,我们知道堆栈的区别:1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于数据结构中...转载 2019-03-21 21:18:24 · 415 阅读 · 0 评论 -
STM32堆栈描述,与任哲书中最接近
参考一堆栈是一种数据结构,按先进后出(First In LastOut,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(FullStack),而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack)。同时...转载 2019-03-21 21:56:15 · 335 阅读 · 0 评论 -
UCOS-II 系统的原理和任务-学习日(1)
写在前头本人嵌入式小辣鸡,本着好记性不如烂笔头的懒惰想法,在网上码起字来。说的容易,还是光看,然后想一想舒服,不过这样也是容易忘得很快。写下自己的想法,和感受更有助于巩固,和以后的复习。所以决定动起手指。敲出来。如笔记中有理解错误,逻辑混乱不流畅的地方,欢迎大牛指正讨论,私信交流。不接受批评!学习参考资料《正点原子STM32F428UCOS开发手册》-原子哥《嵌入式实时操作系统UCOS-I...原创 2019-03-21 23:57:39 · 1953 阅读 · 0 评论 -
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 · 1792 阅读 · 3 评论