- 博客(21)
- 收藏
- 关注
原创 error: implicit declaration of function ‘lv_dclock_create‘; did you mean ‘lv_led_create‘?
添加NXP\GUI-Guider-Projects\vertical3\lvgl\src\extra\widgets路径下dclock文件夹到generated同级目录。widgets_init添加#include ".\dclock\lv_dclock.h"添加路径../components/lvgl/src。修改CMakeLists.txt。修改lv_dclock.h。修改lv_dclock.c。
2025-04-03 20:40:22
280
原创 ESP32入门——freeRTOS
它可以确保任务在每次延时之后,按照指定的周期来执行。适合那些需要定期执行的任务,如定时器任务。互斥量用于保护共享资源,确保同一时间只有一个任务可以访问资源。,但由于优先级较低或其它任务正在运行,暂时没有被调度执行。队列用于任务间的数据传递,支持 FIFO(先进先出)或 LIFO(后进先出)模式。信号量用于任务间的同步或资源管理。任务被显式挂起,调度器不会选择该任务运行。在事件发生之前,任务不会进入就绪状态。事件组用于任务间的复杂同步,允许任务等待多个事件的发生。只能取值 0 或 1,用于任务间的简单同步。
2025-02-12 22:36:25
1621
原创 流水线的Hazard检测与解决 学习记录四
管道的第 3 阶段,用于验证和执行来自 执行单元的所有解码指令。五个流水线阶段被设计为独立单元:获取单元(Fetch Unit)、解码单元(DU)、执行单元(EXU)、内存访问单元(MACCU)和写回单元(WBU)。数据冒险的检测主要在流水线的译码阶段进行,通过分析指令操作数和流水线寄存器状态,识别是否存在依赖关系。数据冒险是由于指令之间存在数据依赖关系,而前一指令的结果尚未写回寄存器或内存,导致后一指令获取到错误数据。每个时钟周期,一条指令的不同部分被处理,每个阶段处理不同的指令。
2025-01-08 17:17:47
721
原创 RISC-V 32位指令集 学习记录三
所有指令都是 32 位长(固定4B),这简化了指令的解码过程。:指令集的设计简单高效,减少了不必要的复杂度,便于高效实现硬件。:RISC-V 支持扩展,可以添加或删除一些指令集的扩展来满足不同应用的需求。gpargument参数寄存器,在函数调用过程中传递参数和返回值。同时,a0和a1又会在函数返回时的传递返回值。s232个通用寄存器,七个临时寄存器rs1、rs2、rd分别表示源寄存器1、2以及目的寄存器;代表立即数;funct3、funct7代表指令对应的功能,
2024-12-23 13:43:00
1452
1
原创 RISC-SPM 学习记录 一
risc-spm总体架构图总共由三个单元构成:处理器、控制器和存储器。控制器根据要执行的指令把数据传送到目的地。因此,控制器的设计完全依赖于。在这个例子中,使用单时钟,在时钟的一个边沿(如上升沿)上进行指令的初始化操作。控制器监视处理单元的状态和将要执行的指令,并决定控制信号的值。由控制器产生的信号如下所示控制信号 操作Load_Add_Reg 装载地址寄存器。
2024-12-18 21:13:02
865
原创 关于打开Altium Designer 工程文件显示乱码导致无法导入的解决方案
点开元件库显示中文乱码,只要没有中文的元件都能正常编译。进去应该会是类似于灰色的。
2024-10-05 22:33:29
536
原创 anaconda显示 Failed to establish a new connection: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。‘)‘及安装
出现Failed to establish a new connection: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。')',应该是网络端口被火绒封了。改源,一定要跟着步骤一步步来,没有花里胡哨的,亲测可用。
2024-04-19 23:41:45
718
原创 离线AI-ChatGLM(没网也能用)
CPU:AMD Ryzen 9 7945HX RAM:16.0 GB GPU:RTX4060(显存8G) 1.右下角打开NVIDIA GeForce Experience 2.左上角点开驱动程序之后更新最新版驱动 1.CUDA下载 :https://developer.nvidia.com/cuda-downloads根据电脑型号选择 2.安装 https://pan.baidu.com/s/1SAOUxt08
2024-04-14 15:36:40
474
1
原创 无刷电机控制-FOC算法
如果需要控制无刷电机,在简单的应用场景中,获取转子位置后给定再通过两个逆变换(先进行帕克逆变换,再进行克拉克逆变换)就可以将一个标量转变为三个矢量,也就是“磁场定向控制”名称的由来。
2024-02-12 20:06:22
909
1
原创 无刷电机控制-介绍
图中U,V,W为无刷直流电机的三相线圈,转子为永磁体无刷电机控制主要通过控制mos管,带动控制电机通过改变电压形式以输入电压(主要以矢量控制和方波控制)来控制电机运行。
2024-02-12 20:00:52
655
1
原创 模拟电路 场效应管与场效应管放大电路分析
最后总结场效应管都是通过电压来控制耗尽层,进而控制电流。抓住这个点就能很好理解场效应管,而由于输入电阻极大,栅极基本上不取电流,而三极管基极总要索取一定的电流。所以在性能方面基本上场效应管碾压三极管。2. 场效应管放大电路。
2023-12-24 16:45:00
2283
1
原创 模拟电路:放大电路的分析与实际应用
共射电路既能放大电流又能放大电压,输入电阻具三种电路之中,输出电阻较大,频带较窄。参见为低频电压电路的单元电路共集电路只能放大电流,不能放大电压,是输入电阻最大的,输出电阻最小的电路,并具有电压跟随的作用,常见于电压放大电路的输入级和输出级,做功率放大共基电路只能放大电压不能放大电流,输入电阻小,电压放大倍数,输出电阻与共射电路相当,是三种接法中高频特性最好的电路,常用作宽频带放大电路四.放大电路的求解(简单的实际应用)主要针对共射极放大电路的各项元器件选型1.静态分析2.交流电压放大倍数。
2023-12-20 23:25:06
1619
1
原创 Keil MDK5解决error: L6002U: Could not open file
https://blog.csdn.net/weixin_44097539/article/details/124798550这里参考了这位的做法 ,确实是电脑命名的时候使用了中文,但运行后还是报错,查看电脑实际命名,我的命名是Default,这里隐藏了需要设置可见文件夹。所以改下环境变量再改下就行。
2023-11-05 17:36:03
2540
原创 emwin 绘制graph触摸卡死问题解决
这里我没有使用系统,单纯的想玩一下emwin。所以感觉很多问题出的很懵,以下总结一下,绘制graph的时候触摸卡死问题解决方案。在guibuild生成文件添加maintaskvoid MainTask(void) { GreatGraph(); while(1) { GRAPH_DATA_YT_AddValue(Graphdata,Value_1/10); GUI_Exec(); GUI_Delay(50); } }具体为什么会卡死应该是没上系统,触摸和显示之间交互进行导致卡死,另外开始我的gui_t
2020-08-21 09:20:39
1599
1
原创 2020-08-17
##关于stm32添加emwin系统报错emwin学习到了添加位图操作本想显示个图片玩一下,无奈显示不了报错如下no space in execution regions究其原因还是因为用的stm32f1系列芯片,ram空间太小,生成的位图文件实在太大给我塞不下,后面在研究吧...
2020-08-17 08:20:22
118
原创 stm32中断配置错误
中断管脚需要是正常的IO口,除去特殊或专门用途的管脚外,其他可以作为外部中断用。查看中断源你会发现,只有GPIOx的第0-4管脚有各自的中断名称,第5-9管脚共用一个中断名称,第10-15管脚共用一个中断名称。这在STM32的技术手册中会有详细说明,可以去看看。为对应的管脚配置对应的中断源才会生效...
2020-03-11 13:19:07
208
原创 基于pytorch CIFAR10图像分类显示
CIFAR10具体分类网上很多就懒得写了,这里写一下测试图像分类效果代码,以后再研究import matplotlib.pyplot as pltimport numpy as nptransform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0....
2020-03-09 21:02:21
1045
1
RISC-V 流水线的Hazard检测与解决
2025-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人