自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot 2 学习笔记(1 2)

\*\*\* 数据绑定:页面提交的请求数据(GET、POST)都可以和对象属性进行绑定\* @return\*//\*\*\* 姓名: \* 年龄: \* 生日: \* 宠物姓名:\* 宠物年龄:\*/@Data。

2024-05-17 08:19:54 953

原创 SPI通信详解

SPI通信没有读和写的说法,实质上每次通信都是数据的交换,也就是主设备发送了一个数据必会收到一个数据,要收到一个数据也要发送一个数据。1、SPI通信支持四种模式,从设备从出厂开始可能就已经配置成某种模式,这是不能改变的,通信双方的通信模式要一致才能正常通信,我们只能配置主设备的通信模式。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时,要将从设备对应的片选引脚电平拉低或者是拉高。(1)SDO/MOSI – 主设备数据输出,从设备数据输入;

2024-05-17 08:19:19 1841

原创 SPI通信详解(1)

CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

2024-05-17 08:18:45 677

原创 SPI总线协议及SPI时序图详解

根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的名准备数据,主机在下一个8位时钟周期才把数据读回来。在时钟的后沿输出数据(下降沿,第二个时钟沿)。主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。可以看出,bit1(值为1)是在SCK信号有效之前的半个时钟周期的时刻开始输出的(与CS信号无关),第一个字节的最后一位在SCK的上升沿被采样,随后的SCK下降沿,从器件就输出了第二个字节的第一位。

2024-05-17 08:18:11 728

原创 nRF52832学习记录(五、PPI 的使用)_nrf ppi(1)

mask &= ~nrfx_ppi_channel_to_mask(channel), channel++)//自动从通道0开始寻找通道,找到没使用的。//设置PPI通道my_ppi_channel的EEP和TEP 两端对应 输出任务1和输入事件3。//PPI通道my_ppi_channel2加入到PPI组my_ppi_group。//PPI通道my_ppi_channel加入到PPI组my_ppi_group。//设置PPI通道my_ppi_channel的EEP和TEP 两端对应的硬件。

2024-05-17 04:42:09 737

原创 nRF52832学习记录(二、外设之 串口)_nrf52832串口

APP_IRQ_PRIORITY_LOWEST,//中断优先级。//串口发送完成事件,主函数找中的循环发送测试也会触发这个事件。NRF_UART_BAUDRATE_57600 //波特率。uart_error_handle,//中断回调,错误处理。UART_RX_BUF_SIZE,//RX缓冲区大小。//串口初始化(FIFO)//串口初始化(FIFO)//从FIFO中读取数据。

2024-05-17 04:41:35 860

原创 nRF52832学习记录(九、SAADC)_nrf52832例程

启动采样后数据首先进入缓冲区1,缓冲区1满了以后缓冲区1中的数据自动进入缓冲区2,然后新来的数据重新又进入缓冲区1。当两个缓冲区都有数据的时候引发中断 ,中断中输出缓冲数据2的内容。EasyDMA双缓冲说明。

2024-05-17 04:41:01 359

原创 nRF52832学习记录(三、芯片ID,内部温度传感器,随机数发生器)_根据芯片id生成随机数

随机数发生器 RNG 通过触发START任务进行启动,新的随机数连续产生,在准备好时 写入 VALUE 寄存器。每次新的随机数写入到 VALUE寄存器,都会触发一个 VALRDY 事件。TEMP寄存器保存了温度的值,0.25度 steps 意思是,每一个刻度代表0.25度,比如数值为10转换成温度就是2.5度。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

2024-05-17 04:40:27 306

原创 FreeRTOS简单移植到STM32F103ZET6_f103zet6移植rtos是heap(1)

1)其中对移植起关键作用的是,list.c queue.c tasks.c 文件。2)与内存分配有关的文件共有4个,分别是heap_1.c,heap_2.c,heap_3.c,heap_4.c。4个文件只需选择其中的1个,STM32选择heap_2.c。所以,可以参考FreeRTOS\Source\portable\RVDS\ARM_CM3。该文件位于FreeRTOS\Source\portable\Keil下,会看到一个文件。该文件位于FreeRTOS\Source\portable\MemMang。

2024-05-16 23:41:09 772

原创 FreeRTOS小项目实战------基于FreeRTOS和stm32的门禁系统_freertos项目

if(PS_Sta) //检测PS_Sta状态,如果有手指按下。printf(“开门成功\r\n”);printf(“指纹识别成功”);

2024-05-16 23:40:35 733

原创 FreeRTOS内存分配多少才合适

许多朋友一上来直接分配堆栈的大小为256(x4字节),或512(x4字节),但自己应用程序临时变量并不多。任务堆栈就是用于存放该任务的变量数据(也就是程序在执行其他任务时,需要把该任务变量数据保存起来)。,FreeROS任务自身(如TCB)需要的空间好像就七八十个字节(我之前计算过,记不得很清楚了)。这里就举上面两个例子,重点就是强调:分配内存的单位是字节(Byte),还是字(4Byte)。如果你应用程序就几个字节的临时变量,分配64(x4字节)都完全够你用。**参数1:**队列长度,也就是队列的数量;

2024-05-16 23:40:01 679

原创 FreeRTOS使用 — 合理使用内存 “ 任务中创建任务 ”_freertos 任务可以再创建任务吗

上面的 InitTask 就对应一次性任务 Task04,因为会删除,我们可以创建得大一点,但是也得注意大小。在 STM32CubeMX 的设置到这里就完成了,其他的地方都需要我们在代码中直接修改。在 KeyTask 任务中,我们还是加入了任务状态查看功能:刚开始,在我们的 InitTask 中,我们什么都不做,初始状态如下图:接下来我们要考虑的就是在当前程序中,我们该如何创建新的任务,而不是依靠 STM32CubeMX 初始化创建。

2024-05-16 23:39:27 722

原创 嵌入式软件工程师学习路线图_嵌入式工程师发展路线图

嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。3、学习嵌入式系统的构建。

2024-05-16 04:10:35 611

原创 嵌入式软件工程师学习路线图_嵌入式工程师发展路线图(1)

嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。3、学习嵌入式系统的构建。

2024-05-16 04:10:01 986

原创 嵌入式移植littlefs文件系统_littlefs文件系统异常文件异常err_corrupt

littlefs 是一种嵌入式文件系统,主要用在微控制器和flash上。主要有3个特点:(1)低资源消耗;(2)掉电保护;(3)擦写均衡,

2024-05-16 04:09:26 360

原创 嵌入式框架分层_嵌入式软件架构设计之分层设计

让我们看看这个经典的图,简单了解一下框架分层。从图中不难观察出,设计都是遵循设计的原则的,层与层之间不能相互调用。

2024-05-16 04:08:48 921

原创 最全Qt Moc及信号-槽源代码解析_qt_moc_literal(1),讲的真详细

/下面是对Connection* QObjectPrivate::senders双向链表的操作。//此处省略了函数参数检查,信号及槽函数索引获取,connect类型处理等代码。(img-88nkfJch-1715721023568)]//最后其实调用了QMetaObjectPrivate::connect。// QObjectPrivate::Connection实例化,//根据信号索引取得此信号所对应的链表,并把此连接加入链表中。//存储了信号-槽链接的信息。

2024-05-15 05:10:47 768

原创 最全Python图像处理PIL各模块详细介绍_pil image,2024年最新讲的太透彻了

如下图为box截取的图像区域显示。

2024-05-15 05:10:10 658

原创 最全Python QT 之PySide6简单入门(1),2024年最新物联网嵌入式开发高级面试framework

从 Tools -> External Tools -> PySide6_Designer 打开 QT Designer。

2024-05-15 05:09:32 608

原创 最全PostMan:高级使用教程_postman 高级用法,2024年最新大专生面试阿里P7居然过了

4.使用配置好的变量:用两个大括号{{}}来使用我们配置好的变量,环境可以在第七个环境选择中进行选择,这样我们修改端口IP时只需要配置新的环境变量就能将所有的测试用例修改,减少我们的工作量。为什么要配置环境变量:当测试用例的ip或者端口号更改时,我们需要将全部的用例修改,工作量十分麻烦,为了节省人力,我们需要配置一下环境变量,每次只需要更换一下变量即可。右侧的红色字体时postman中提供给我们的一些简单的测试断言,发杂的需要我们自己写。2.配置自己的变量:然后点击add增加。

2024-05-15 05:08:52 272

原创 【C语言开源库】在CLion上使用一个轻量的适合嵌入式系统的环形缓冲库ring buffer 和C语言Unity单元测试框架

Unity被设计成跨平台,它努力坚持C标准,同时仍然支持许多违法规则的嵌入式C编译器。Unity可以在许多编译器环境中使用,比如GCC,IAR,Clang,Green Hills,Microchip, MS Visual Studio。在这个环形缓冲库中存在一个单元测试模块,单元测试使用的是Unity测试框架。Unity是一个单元测试框架,Unity设计者团队的目标是让它保持。发现是可以正常编译运行的,说明我们可以使用这个开源库了。我们将Unity单元测试框架的三个文件加入到我们的项目中。

2024-05-14 20:24:20 693

原创 【C语言】树莓派(Raspberry Pi)+DS18B20 获取当前温度_(1)在raspbian中,使用c语言程序获取到树莓派cpu的温度值 ①方法参考 树莓派 rasp

在开始之前,要使能树莓派内核的具体操作如下单总线的接口默认是GPIO 4(BCM),使用默认接口的话可以忽略下面更换引脚的操作若想更换自己选择的端口,则需要在 /boot/config.txt 文件的最后那行中加上 “,gpiopin=你想要的端口”。在最后一行添加以下内容,这里的 gpiopin = 4 是采用BCM GPIO的标准。如果是模块化的DS18B20,则添加以下内容【因为模块中已包含上拉电阻】如果是单独的一个DS18B20芯片【也就是普通直插三极管的样子】最后重启系统。

2024-05-14 20:23:41 700

原创 【CC2530入门教程-06】CC2530的ADC工作原理与应用_cc2530那些引脚具有adc功能

CC2530的ADC模块支持最高14位二进制的模拟数字转换,具有12位的有效数据位,它包括一个模拟多路转换器,具有8个各自可配置的通道,以及一个参考电压发生器。:通过写ADCCON3触发一个单通道转换完成时,将产生一个中断,而完成 一个序列转换时,是不产生中断的。:内部生成的电压、AVDD5引脚、适用于AIN7输入引脚的外部电压,或者 适用于AIN6~AIN7输入引脚的差分电压。:在程序设计中,通过写ADCCON3寄存器触发单通道ADC转换,一旦寄存器被写入,转换立即开始。中相应的位必须设置为1。

2024-05-14 20:23:02 2064

原创 【CC2530入门教程-03】CC2530的中断系统及外部中断应用_cc2530的外部中断源有哪些

在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行。在编写中断服务函数的时候,书写格式要正确,中断向量不能搞错。特别要注意:在函数里面把端口组和引脚的标志位清除,否则CPU将会反复进入中断,必须先清除引脚标志位PxIFG,再清除端口组标志位PxIF。,分别对应3个端口中各引脚的中断触发状态,当某引脚发生外部中断触发时,对应的标志位会自动置位,这个标志同样需要手工清除。

2024-05-14 20:22:20 1693

原创 2024年物联网嵌入式最全详解双向链表的基本操作(C语言)_c语言双向链表的移动功能,2024年最新深入剖析原理

*更新函数,其中,add 表示更改结点在双链表中的位置,newElem 为新数据的值*/(img-hpbfBBfg-1715656466532)]/*判断当前结点中数据域和data是否相等,若相等,摘除该结点*//*head为原双链表,elem表示被查找元素*//*在第add位置的前面插入data节点*//*在第add位置的后面插入data节点*//*新建数据域为data的结点*//*新建数据域为data的结点*//*输出链表的功能函数*//*判断是否是头结点*//*遍历到被删除结点*/

2024-05-14 11:14:49 339

原创 2024年物联网嵌入式最全评论回复功能设计与总结-Java(两层型)_评论回复通用设计(1),2024年最新腾讯T3大佬亲自教你

实现原理为我们会在评论表之中添加一个【parent_id】字段,定义评论和回复为父子级的关系,评论为父级,回复为子级,默认为【-1】,表示为没有父级,嵌套型的评论方式所需要的数据结构是树状型的,评论多起来的话层级结构会变得很复杂,对于性能消耗也是很巨大,我们只需要在评论的数据表格中添加博客id即可,查询出相对应的数据直接进行展示即可。设计和嵌套型保持一致,只需要在查询出来数据之后对数据进行处理即可。比单一型多了互动的功能,比嵌套型更加简洁,方便操作管理。就以最常见的博客来说,不同的分类方式实现原理不一样。

2024-05-14 11:14:10 258

原创 2024年物联网嵌入式最全计算机网络学习总结(超赞!!!)_jisuanjiwangluoxuex1,BAT大厂面试总结

因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。地址解析协议 ARP(Address Resolution Protocol)网际控制报文协议 ICMP(Internet Control Message Protocol)网际组管理协议 IGMP(Internet Group Management Protocol)

2024-05-14 11:13:31 392

原创 2024年物联网嵌入式最全蓝桥杯嵌入式省赛模板构建——UART接收_蓝桥杯嵌入式串口,物联网嵌入式开发面试八股文

可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

2024-05-14 11:12:48 372

原创 2024年最新5G SRS原理及应用,2024年最新原理讲解

四天线SRS天选相比两天线SRS天选,DPDT天线开关改为DP4T天线开关,Tx1与Tx2通过DP4T天线开关连接,互相利用各自的两根天线,完成四天线轮发。在5G手机中引入天线轮发功能,在SRS模式下,参与探测信息的天线越多,获取的信道信息越准确,下载速率越高,用图中天线轮发做例子说明,现有5G手机支持SRS单端口发射,1T2R两天线轮发为必选模式,1T4R四天线轮发为推荐模式,四天线轮发能够使速率更接近理论值。1T4R,终端在4个天线上轮流发射SRS信号,一次选择1个天线发射;NSA终端常采用这种模式。

2024-05-14 06:16:30 401

原创 2024年最新51单片机项目(5)——基于51单片机的密码锁设计,物联网嵌入式开发基础学习教程

4、关闭密码锁:按下上锁按键即可将打开的密码锁关闭。功能测试:输入原始密码123456—按下更改密码按键—按0到9设置密码—按确认键密码更改—按上锁按键关闭密码锁—输入新的密码打开密码锁仿真图如下所示。

2024-05-14 06:15:52 388

原创 2024年最新20年架构师用一文带你彻底搞懂SpringBoot嵌入式Web容器原理,音视频学习指南来咯

开发者不再需要关心传统容器(如Tomcat)中web.xml的配置,同时实现容器的具体技术都是可替换及可更改的,这些技术以插件化的Starter组件方式在运行时加载到Spring容器中。在Spring Boot启动流程和容器配置中,其实我们已经介绍了一点内嵌Tomcat容器的原理,下面具体看一下Spring Boot加载Tomcat的具体执行步骤。在Spring Boot的run方法中,我们发现其中Web容器加载很重要的一步就是下面的代码:创建、加载、刷新、运行Spring容器的。

2024-05-14 06:15:13 857

原创 2024年最新2018~2021年软考下午真题考点总结-软考最新_软考网工下午分析(1),字节跳动物联网嵌入式开发内部学习资料泄露

这种防火墙不但能根据数据包的源地址,目标地址,协议类型,源端口,目标端口等对数据包进行控制,而且能记录通过防火墙的连接状态,直接对包里的数据进行处理。针对office的一种病毒,由office的宏语言编写。对称加密(加密密钥和解密密钥一样),DES(56位加密密钥),3DES(112位),IDEA,AES。A三个密钥:自己的私钥(签名),B的公钥(同步一次性密钥),和自己生成的一次性密钥(保证一次性传输)。(1)主要考察:防火墙,IPsec协议,网络威胁,防护措施,数据加密,病毒,网络攻击,IDS)

2024-05-14 06:14:32 602

空空如也

空空如也

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

TA关注的人

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