自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRTOS自我救赎3之USB虚拟串口

在开发一个项目的过程中,免不了串口调试,而这块板子板载的mircousb不是直接连的引脚而是一个OTGUSB。任何项目的功能都从需求出发,在这里我用的是斥侯蜂的一块STM32F407ZGT6。

2023-10-09 23:58:16 977 1

原创 FreeRTOS自我救赎2之基本工程建立

1.System Core ===>SYS2.System Core ===>RCC3.System Core ===>NVICMiddleware ===>FREERTOS

2023-10-09 23:02:32 947

原创 FreeRTOS自我救赎1之基本知识

每次写博客都是先用完了知识再写,也是很无奈,因为面试的时候我只会操作但我不会说,多写博客才能会“吹”。

2023-10-09 21:28:45 210

原创 为了工作刷题

我的翻译:1.同步通信是需要时钟线的,数据在各个脉冲的上下沿或跳变时被发送或接收。2.异步通信则是不需要时钟线的,通过在数据的起始与终止,插入标志位,然后再以一定的频率发送和接收,这种通信一般会出现一些错误信息,这也涉及到一些校验位数据丢弃数据验证的问题。I2C(串行外设接口):I2C是一种同步通信协议,它使用共享的时钟信号和两条数据线(串行数据线SDA和串行时钟线SCL)来传输数据。SPI(串行外设接口):SPI是一种同步通信协议,它使用共享的时钟信号和多个数据线(主线、从线和时钟线)来传输数据。

2023-09-15 16:23:44 712

原创 闭门造轮(LVGL_2)

这段代码主要是介绍了,各种添加文字的方法,甚至有通过点击文字来进入回调事件的方法。,比较简单就不介绍了。

2023-06-24 23:52:37 792

原创 闭门造轮(LVGL_1)

参考的课程:全志韦东山的课程:https://www.100ask.net/p/t_pc/course_pc_detail/column/p_61c5a317e4b0cca4a4e8b6f1?product_id=p_61c5a317e4b0cca4a4e8b6f1 LVGL_API解析:额?...这几个API还能玩出花来不成?...这段代码创建了一个基本对象,并且将这个对象的长和宽设定为300和500,通过lv_obj_get_width(obj)和lv_obj_get_width(obj)获

2023-06-23 21:20:32 634

原创 4.1.网络编程之TCP通信

网络编程的一个最大的特点就是网络程序是由两个部分组成--客户端和服务器端。在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。和客户端相对应的程序即为服务端程序。被动的等待外面的程序来和自己通讯的程序称为服务端程序。实际生活中有些程序是互为服务和客户端。在这种情况项目, 一个程序既为客户端也是服务端。

2023-03-17 18:00:54 598 1

原创 3.1.SPI原理

对于一个主控芯片,其一般都会有一个SPI控制器,其上有三条线,SCK,DO,DI分别可以输出时钟脉冲,发送数据,以及接收数据。对于连接在同一个SPI控制器上的SPI设备,主要的一个点是不能相互影响,这就用到了片选引脚(CS0,CS1),片选引脚可以选中对应的SPI设备,在同一时间只有一个片选引脚有效。这个引脚需要自己在通用IO中定义。简单来讲就是当CPOL为0时SCK初始电平为低电平,CPOL为1时SCK初始电平为高电平。当CPHA为0时将在第一个边沿采样数据,CPHA为1时将在第二个边沿采样数据。

2023-03-13 17:34:33 328

原创 2.2.I2C编程实践

访问硬件的方式最普遍的思路是通过编写自己的驱动程序进而访问I2C设备,而I2C_Tools可以直接对I2C控制器上的I2C设备进行访问,我们可以通过编写APP(应用程序)来操作I2C_Tools进而来访问I2C设备,对I2C设备进行驱动。有如下函数i2c_transfer:该函数会从i2c_adapter中找到根本的传输函数:algo.master_xfer进行调用,然后从i2c_msg中找到设备的设备地址以及设备读写标志位信息,num则是传输多少个数据消息。,而大家都知道I2C控制器提供。

2023-03-12 17:33:18 544

原创 2.1.I2C协议编程

关于I2C这个协议,它体现了一个单片机难度的开始,我记得当时我学51时,I2C一直都理解不了,现在回来一看,它的原理貌似又显得如此的简单..

2023-03-12 15:02:12 361

原创 1.多线程编程

多线程编程的深入较为复杂,在这里主要是通过全志的5个例程,给自己写一些关于多线程编程的API的笔记。

2023-03-11 16:15:12 369

原创 0.1.Linux应用之串口使用(T113_PRO-S3_GPS解析)

GPS主要是要用起来,一般市面上也就是卖模块,我感觉一般也不会有人会买芯片集成到板子上吧?..所以这篇博客主要是讲解,市面上可以买到的GPS模块串口所打印的数据块的各个数据段什么意思,另外给出解析的方案。

2023-01-07 00:37:23 2613

原创 粤嵌实训(笔记)

LCD换个图案说实话,对于这个粤嵌的实训,真的有很多想吐槽的地方,以下就是粤嵌给的一块板子,屏幕已经碎了,只有一根串口线(甚至是RS232,tm的)和一根DC电源(可能是为了省成本,要我就整个TYPEC供电了),它甚至一条MIRCOusb都不给(接OTG,后来我发现adb传输用不了,可能是这块板子OTG口需要特定的驱动,是的,我没资料),网线也没给,tftp,nfs都没法用,后面发现它竟然是用板载的一个rx工具(当时真是知识盲区),对比我用的一块全志的T113的板子,这块板子真的寄。

2022-12-13 10:29:54 15011 15

原创 (第一章)嵌入式linux之常用汇编指令

分为的数据传输或者的数据传输。数据传输常用的指令有三个:MOV、MRS和MSR注:MRS用于将特殊寄存器(如CPSR和SPSR)中的数据传递给通用寄存器,MSR 指令和MRS刚好相反,MSR指令用来将普通寄存器的数据传递给特殊寄存器,也就是写特殊寄存器,写特殊寄存器只能使用 MSR.我是这样记的:M开头就是传输指令,MOV最好记,MRS与MSR,R就是(READ)读取,强调读取操作,是读取特殊寄存器中的值。

2022-09-25 16:46:32 1201 1

原创 RA生态之外部中断EXIT

实现:通过按键形式以及灯的亮灭形式进行演示EXIT 配置Stacks->New Stack->Input -> External IRQ Driver on r_icuR_ICU_ExternalIrqOpen()函数:配置用于外部中断接口的 IRQ 输入引脚,配置如下所示。/* Configure the external interrupt. */ fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_ir

2022-05-18 01:14:45 140

原创 RA生态之基于 DTC 的多通道 ADC 采集

配置ADC:Stacks->New Stack-> Analog -> ADC Driver on r_adc配置ADC:Stacks->New Stack->Transfer-> Transfer Driver on r_dtc堆栈设置示例代码:#include "hal_data.h"#include <stdio.h>FSP_CPP_HEADERvoid R_BSP_WarmStart(bsp_warm...

2022-05-18 00:23:35 265

原创 RA生态之USART通过定时器中断接收不定长数据

UART 配置Stacks->New Stack -> Connectivity -> UART Driver on r_sci_uart要改的如下,其他默认即可printf重定向,这个你们看之前的章节,这里直接贴代码了#include "hal_data.h"#include <stdio.h>FSP_CPP_HEADERvoid R_BSP_WarmStart(bsp_warm_start_event_t event);FSP_CP.

2022-05-17 23:22:39 576 1

原创 RA生态之串口与printf()函数重定向

UART 配置:点击 Stacks->New Stack -> Connectivity -> UART Driver on r_sci_uart改的地方就上面一处,其他地方默认即可,默认串口配置:115200波特率,无校验一停止通道0R_SCI_UART_Open()函数:开启和初始化 UART/* Open the transfer instance with initial configuration. */ fsp_err_t err = R_SCI_UART_O

2022-05-16 16:34:14 552 1

原创 RA生态之ADC 采样

ADC 配置点击 Stacks->New Stack-> Analog -> ADC r_adc先是单通道ADC默认12位ADC精度,对齐方式扫描(也最常见的方式)下图是设置回调函数adc_callback,和回调中断优先级为2在PIN那里选择通道R_ADC_Open()函数:开启和初始化 ADC 模式(在这里是开启adc0)/* Initializes the module. */ err = R_ADC_Open(&g_adc0_ctrl.

2022-05-16 14:47:43 393

原创 1RA生态之R_IOPORT_PinWrite()函数

麻了,最近学校参加个什么立创EDA的训练营,硬要学一个RA的芯片,在这里写一些关于这款芯片的核心板的笔记芯片类型:RA2E1A72DFLfsp_err_t R_IOPORT_PinWrite ( ioport_ctrl_t *const p_ctrl,bsp_io_port_pin_t pin,bsp_io_level_t level ) 说明:Sets a pin's output either high or low. Implements ioport_api_t::pinW

2022-05-14 22:08:36 262 1

原创 3RA生态之定时器输出PWM

在瑞萨 RA 系列 MCU 中有两种定时器,一种是通用 PWM 定时器 GPT,另外一种是异 步通用定时器 AGT,在这里我们使用通用定时器GPT进行PWM输出。对GPT6进行选中,从右边的芯片引脚看出GPT6有两个通道可用,分别是GTIOC6A和GTIOC6B定时器配置 点击 Stacks->New Stack->Timers->Timer Driver on r_gpt(不同版本的cube可能会界面不一样)stack配置设置占空比和输出引脚

2022-05-14 22:05:17 620

原创 2RA生态之R_IOPORT_PortRead()函数与R_IOPORT_PinRead()函数

函数原型R_IOPORT_PortRead()fsp_err_t R_IOPORT_PortRead ( ioport_ctrl_t *const p_ctrl,bsp_io_port_t port,ioport_size_t * p_port_value )函数原型R_IOPORT_PinRead()fsp_err_t R_IOPORT_PinRead ( ioport_ctrl_t *const p_ctrl,bsp_io_port_pin_t pin,b.

2022-05-14 18:50:14 379

原创 树莓派作为PC端通信STM32(写给自己的一些笔记,以谈话的方式引导学习)

前言哎,就说实话,就因为这几天一直在写那个课堂作业嘛,那个通过串口来控制电机调速的,给我学麻了(小声BB,proteus太难用啦),这不,趁热打铁一波,拿STM32的野火的MINI开发板来一波串口通信咋串口通信呢?一发二收嘛,发是PC端进行发送吧?当然,STM32一样可以通过串口发送数据到我们的树莓派上为了实现收发的功能那必然要有一条渠道吧,一般串口分为线接和无线串口,我们就不搞这么高级了,先TTL转串口试试,首先就是硬件的连接了树莓派接收端RXD发送端TXD引脚捞一下这个树莓派.

2021-11-05 20:32:06 3083 3

原创 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第二部分)

前言接上一部分的算出person相关系数了,接下来该干嘛呢?..正常人会怎样,应该会去算相关系数可不可靠?那咋验算呢?对皮尔逊相关系数进行假设检验(全是字,人都麻了)第一步:提出原假设H0和备择假设H1,并且两个假设截然相反假设我们计算出了一个person相关系数r,我们想检验它是否显著的异常于0,那么我们可以这样设定原假设和备择假设,H0:r = 0,H1:r !=0.第二步:在原假设成立的条件下,利用我们要检验的量构造出一个符合某一分布的统计量,对于person相关系数r而

2021-11-04 01:01:00 5814 2

原创 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)

0.前言一开始学这里的时候我感觉真的完犊子了,因为这部分的内容涉及到了概率论和数理统计的东西,概率论和数理统计虽然我现在在学,但我学的一团糟,翻书也毫无头绪,完了,现在就写一写自己怎么学的这两个系数,关于这些系数有什么用,怎么算,两个方面。1.回顾概率论与数理统计的一些知识点首先是关于总体均值和总体协方差的计算,公式贴出来。至于有什么用?都懂均值啥意思吧?先说说协方差吧直观理解协方差:如果X、Y变化方向相同,即当X大于(小于)其均值时,Y也 大于(小于)其均值,在这两种情况下,

2021-11-02 01:35:41 2682

原创 图论最短路径问题(图的绘制以及Dijkstra算法和Bellman‐Ford算法)

1.作图代码:均为MATLAB语法%函数graph(s,t):可在 s和 t中的对应节点之间创建边,并生成一个图G1=graph(s1,t1);%图矩阵的生成,并通过该图矩阵生成图 plot(G1); %打印G1图小例子1:生成一个权值均为1的无向图s1 = [1,2,3,4]; t1 = [2,3,1,1]; %1节点与2节点相连,2节点与3节点相连,3节点与1节点相连,4...

2021-10-31 19:19:31 2160

原创 树莓派点灯笔记(论如何学好控制IO输出)(3)(人脸识别IO控制)

继最基础的IO口控制的学习,现在我来回顾我想要做的,嗯..我想要做一个基于opencv和树莓派的一个人脸识别的门禁,现在人脸识别有了,io控制大概清楚了..现在问题就是,如何通过人脸识别成功来控制io口输出电频?..其实逻辑就是:如果这个人在人脸库里面,打开继电器进行开门,如果不在人脸库就关门。同时我还添加了语音播报的功能,而且还能将开门信息推送到微信上,这样就可以试试的看到有谁来开门了。着手修改03_face_recognition.py文件,给它加上一个if(识别成功): ...

2021-09-27 16:10:27 709

原创 树莓派点灯笔记(论如何学好控制IO输出)(2)

目的:使用Python 通过RPi.GPIO库控制GPIO一.创建环境新建PythonWorkSpace文件夹 新建gpio_out.py文件mkdir PythonWorkSpacecd PythonWorkSpace/vim gpio_out.py二.编写代码编辑gpio_out.pyimport RPi.GPIO as GPIO #导入GPIO包import time #导入time包

2021-09-26 18:46:56 118

原创 树莓派点灯笔记(论如何学好控制IO输出)

1.前言继ROS学习的结束(虽然没有进行一个笔记的记录),和基于opencv和树莓派摄像头的一个人脸识别的学习的成功建立。接下来就是进行IO口控制的学习,最基本的也就是点灯了。学习一切电子硬件从点灯,用树莓派点亮一个LED灯是非常简单的事情,但却非常重要,是利用GPIO控制外部硬件设备的基础,机器人的大部分功能都可以通过操纵GPIO来实现的。换句话说,能控制一个LED灯,就能让机器人动起来2.GPIO引脚树莓派与普通计算机最大的区别就在于它拥有若干个可编程的GPIO,可以用来控制外部设备

2021-09-26 18:20:13 5849 2

原创 MATLAB基础语法之蒙特卡罗模拟_2(三门问题)

%% 蒙特卡罗用于模拟三门问题clear;clc%% (1)预备知识% randi([a,b],m,n)函数可在指定区间[a,b]内随机取出大小为m*n的整数矩阵randi([1,5],5,8) %在区间[1,5]内随机取出大小为5*8的整数矩阵% 2 5 4 5 3 1 4 2% 3 3 1 5 4 2 1 2% 4 1 3 ...

2021-08-28 12:57:34 450

原创 MATLAB基础语法之蒙特卡罗模拟_1(布丰投针)

蒙特卡罗用于布丰投针实验%% (1)预备知识% rand(m,n)函数产生由在[0,1]之间均匀分布的随机数组成的m行n列的矩阵(或称为数组)。rand(5,4)% 0.8300 0.1048 0.2396 0.4398% 0.5663 0.1196 0.8559 0.5817% 0.9281 0.2574 0.3013 0.9355% 0.3910 0.3173 0.2108 0.1...

2021-08-28 12:22:19 545

原创 MATLAB基本语法之灰色关联分析

灰色关联分析用于系统分析实例介绍:灰色关联分析是一种根据自变量图形与因变量图形的相似度进行判断相关性的一种方法% 导入数据 一个6*4的矩阵load gdp.mat %不会导入数据的同学可以看看第二讲topsis模型,我们也可以自己在工作区新建变量,并把Excel的数据粘贴过来% 注意Matlab的当前文件夹一定要切换到有数据文件的这个文件夹内Mean = mean(gdp); % 求出每一列的均值以供后续的数据预处理gdp = gdp ./ repmat(Mean...

2021-08-27 12:38:39 4087

原创 MATLAB基础语法之拟合算法

前言load data1plot(x,y,'o')% 给x和y轴加上标签xlabel('x的值')ylabel('y的值')n = size(x,1);k = (n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.*x)-sum(x)*sum(x))b = (sum(x.*x)*sum(y)-sum(x)*sum(x.*y))/(n*sum(x.*x)-sum(x)*sum(x))hold on % 继续在之前的图形上来画图形grid on % 显示网格线% .

2021-08-23 13:15:11 1471

原创 MATLAB基础语法之插值算法

无序标注为代码,使用时复制即可,如有不妥的注释,希望有大佬能指出。 分段三次埃尔米特插值x = -pi:pi; y = sin(x); %对自变量和因变量做定义,其中x以-pi为起点,pi为终点,1为步长生成一个等差数列new_x = -pi:0.1:pi; %这里定义一个插入点等差数列,其内容为以-pi为起点,pi为终点,0.1位步长生成一个等差数列p = pchip(x,y,new_x);%返回与 x...

2021-08-07 00:31:33 575

原创 MATLAB基本语法之优劣解距离法(Topsis)(完善)

优劣解距离法实践部分1.判断是否需要正向化[n,m] = size(X); disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标']) Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']);if Judge == 1 Position = input('请输入需要正向化处理的指标所在的列,例如第2、3、6三列需要处理,那么你需要输入[2,3,6]: ')...

2021-08-06 15:25:40 793

原创 MATLAB基本语法之层次分析法

前言为了参加数学建模的比赛,懂的都懂好吧...开一个坑,一边学数学建模一边进行MATLAB的语法学习基本常识1.分号( ;)在matlab中分号是换行的含义,也可以代表一段语句的结束,感觉和C的分号差不多吧,在某种程度上又和C中的逗号的作用有重叠a = 3;//会直接输出这段话,但不进行操作a = 5 //会明显的输出a = 5对比以下例子a = 3+5; //输出了a = 3+5...

2021-07-18 21:21:22 2352 2

原创 ROS常用命令汇总

ROS常用命令汇总一、常用命令rosnode : 操作节点 rostopic : 操作话题 rosservice : 操作服务 rosmsg : 操作msg消息 rossrv : 操作srv消息 rosparam : 操作参数前言官方链接:http://wiki.ros.org/ROS/CommandLineTools二、rosnode ://rosnode 是用于获取节点信息的命令//1.rosnode list :列出活动节点 2.rosnode info :打印

2021-07-18 17:02:29 614

原创 关于PID算法的一些调参经验总结

关于PID算法的一些调参经验总结前言: 该文为经验学,经验学并不为理论。 不涉及理论,并仅分析过程中遇到的各种问题,以及问题的解决方法。 目录一、PID算法理解PID(proportion integration differentiation)其实就是指比例,积分,微分控制,其中Kp为比例系数,Ti为积分时间常量,Td为积分时间常量。 相信来看这篇文章的朋友都不是来看PID算法理解的,但想了想,还是在这里贴出一篇写的十分不错的关于PID算法理解的博客:https://bl

2021-06-08 21:14:44 11843 3

原创 ROS话题通信总结3(自定义发布文本)(调用)

ROS话题通信总结3(自定义发布文本)(调用)目录ROS话题通信总结3(自定义发布文本)(调用)前言:一、ROS话题通信总结1:https://blog.csdn.net/qq_33001335/article/details/117121210?spm=1001.2014.3001.5502二、ROS话题通信总结2:(自定义发布文本)(配置):https://blog.csdn.net/qq_33001335/article/details/1171957400.vscode 配置

2021-05-25 20:09:45 548

原创 ROS话题通信总结2(自定义发布文本)

ROS话题通信总结2(自定义发布文本)前言:在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty.... 但是,这些数据一般只包含一个 data 字段 结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: 激光雷达的信息... std_msgs 由于描述性较差而显得力不从心,这种场景下可以使用自定义的消息类型一、ROS话题通信总结1:https://b

2021-05-23 15:50:25 216

空空如也

空空如也

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

TA关注的人

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