自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows系统有趣操作

在Windows搜索栏中输入“记事本”,然后在结果中找到“记事本”应用。右键点击“记事本”,选择“以管理员身份运行”;然后在记事本里面找到文件选项,打开文件C:\Windows\System32\drivers\etc,选择打开hosts文件,这样就能直接修改了。这篇文章记录在使用windows系统过程中遇到的一些问题以及解决方法!如果提示需要管理员权限才能保存到该文件夹怎么解决?保存文件,退出,大功告成!1、github访问很慢。

2025-03-30 17:23:32 145

原创 Linux线程入门

以上 API 都是针对线程属性操作的,所谓线程属性是类型为 pthread_attr_t 的变量,设置一个线程的属性时,通过以上相关的函数接口,将需要的属性添加到该类型 变量里面,再通过 pthread_create( )的第二个参数来创建相应属性的线程。1,当线程的调度策略为 SCHED_FIFO 时,其静态优先级(static priority)必须设置为 1-99,这将意味着一旦这种线程处于就绪态时,他能立即抢占任何静态优先级为 0 的普通线程。每个线程都有一个栈,它是线程执行时的内存区域。

2025-03-05 20:53:55 755

原创 Linux进程

1、使用ipcs -m可以查看当前路径下消息队列的信息2、消息队列使用简单但是由于内核进行分配内存,检查边界,设置阻塞,以及各种权限监控,使得我们使用起来非常省力,因此不适合用来传输海量数据,能解决这个问题的就是共享内存。1、他们都需要通过键值获取ID才能进行一系列的操作2、ipcs指令:查看当前路径下的消息队列,共享内存,信号量信息从你提供的信息来看,系统中当前有一个共享内存段和一个信号量数组。

2025-03-03 11:42:22 575

原创 SPI通讯

SPI总线包括4条逻辑线,定义如下MISO:Master input slave output 主机输入从机输出MOSI:Master output slave input 主机输出从机输入SCLK:Serial Clock 穿行时钟信号,由主机产生发送给从机SS:Slave Select 从机选择信号,通常低电平有效不同的制造商会遵循其他的命名规则MISO也可以是:SOMI,DOUT,DO,SDO或SO(在主机端)MOSI也可以是:SIMO,DIN,DI,SD或SI(在主机端)

2025-02-15 11:48:44 138

原创 Can通信学习

CAN收发器一般是单独的芯片,并且根据CAN总线的结构不同,需要使用不同的CAN收发芯片,例如,STM32F407开发板上使用的CAN收发芯片是TJA1040,只能构成闭环网络结构。总线上所有设备都会监视总线数据,一旦发现“为错误”“填充错误”“CRC错误”“格式错误”“应答错误”,这些设备便会发出错误帧来破坏数据,同时终止当前的发送设备,发送错误帧有两种主动错误帧,被动错误帧,这是根据错误状态进行选择的。,如下图4所示,传输的是差分信号,通过两根信号线的电压差CANH-CANL来表示总线电平。

2025-01-21 11:58:32 1213

原创 DMA的使用方式

DMA可以将数据在占用用CPU资源的同时进行数据传输。

2025-01-11 15:41:38 160

原创 LVGL移植

基于正点原子LVGL教程。

2025-01-11 10:49:48 660

原创 串口通讯学习记录

单片机TXD接232的T/R-单片机RXD接232的RXD+

2025-01-07 11:14:21 582

原创 单片机里不想阻塞系统的延时

状态机有助于解决延时导致系统的阻塞问题。

2024-12-26 18:25:07 1001

原创 驱动LCD液晶显示器

参考文章链接。

2024-12-19 10:07:24 393

原创 ARM寄存器简介

_CC_ARM:用于 ARM 编译器(如 armcc 或 armclang)。__ICC_ARM:用于 IAR 编译器(IAR Embedded Workbench for ARM)。__GNUC__:用于 GNU 编译器(如 GCC,支持多种平台)。

2024-12-05 11:23:23 1330

原创 FreeRTOS移植

1.Source文件夹这里我们再重点分析下文件夹下的文件,具体见图13-6。编号①和③包含的是FreeRTOS的通用的头文件和C文件,这两部分的文件试用于各种编译器和处理器,是通用的。需要移植的头文件和C文件放在编号②portblle这个文件夹。

2024-12-04 12:06:30 1109

原创 PID一文章教会你控制舵机,直流电机,步进电机

本篇博客适用于有一点点PID基础的,小白也可以看,对后序写程序的思路有很大帮助。

2024-11-27 18:32:21 1036

原创 Keil5使用

这是因为要将Keil默认是C89,要设置成c99。

2024-11-27 17:06:19 345

原创 单片机IAP固件升级

IAP技术能够让单片机在应用运行时自行更新固件,无需外部编程器或人工干预,极大提高了设备的维护性和灵活性。它在嵌入式系统、物联网设备、智能硬件等领域具有重要的应用价值。Bootloader(引导程序)是嵌入式系统和单片机中用于启动操作系统或应用程序的基础软件。它的主要作用是在系统上电或重启时,初始化硬件并加载并执行主程序或操作系统。简而言之,Bootloader是设备开机时首先运行的程序,它帮助将设备从一个无操作系统的状态启动到一个有操作系统或应用程序的状态。

2024-11-23 23:17:38 733

原创 了解lwip

lwIP是一个小型的开源的TCP/IP协议栈(精简版的TCP/IP协议)

2024-10-30 09:35:28 1026

原创 GD32学习知识点累计

GD32f427主频最高位240MHZ,GD32给的函数外接25MHZ晶振配置主频为200MHZ,APB1最高频率为60HZ配置为主频的4分频为50MHZ,APB2最大为120MHZ配置为主频的2分频为100MHZ。无论什么定时器最大频率为240MHZ。

2024-10-24 18:36:45 318

原创 01.系统IO

文章的函数说明只是简单的说明,具体还得查看man手册。

2024-09-23 11:20:32 830

原创 GEC6818初次连接使用

使用自动获取网络命令一切正常使用静态设置,虽然电脑连接手机热点,通过电脑网线提供网络给开发板不能ping百度但是不影响我们使用网络连接开发板(telnet),使用网络传输文件等操作!!!,具体原因还不清楚注意命令一定要要输入正确。出错检查输入设置是否正确!如果开发板的 root 用户还没有密码,键入以下命令然输入两次密码来修改,否其他设备无连:密码更改失败,查询/etc/目录下是否有shadow文件夹,没有请创建。

2024-09-18 21:29:20 1435

原创 给虚拟机linux系统安装交叉编译工具链

我们在电脑上写的代码编译生成的是X86架构的二进制文件,只能在X86平台上运行,而开发板是ARM架构因此需要安装交叉编译链工具,这样在电脑上写的代码交叉编译之后生成的是ARM架构的二进制文件。绿色的字眼是与本文无关的只是这样有助于我们的使用。

2024-09-16 16:44:44 1072

原创 Makefile

第一次学习Makefile是云里雾里的,但是我们不要怕要有信心去搞定它。一步一步慢慢分析命令是怎么构成的!!!!

2024-09-14 22:13:06 1241

原创 VScode相关问题与解决

usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start‘_scrt1.o in function start-优快云博客。本文通过一个实例展示了在使用Vscode时如果没有保存.cpp或.c源文件,直接用g++或gcc命令生成可执行文件会导致编译错误。案例中,未保存的hell.cpp在保存前后运行结果对比,强调了保存源文件的重要性。

2024-09-13 21:20:21 718

原创 库文件制作

库文件的作用库文件分为静态库和动态库,我在学习单片机RTOS想看底层实现代码的时候往底层找的时候就找不到了。这就是为了保护代码的隐私!使用了动态库。库文件是二进制文件因此别人可以通过这个动态库和对应的头文件就可以达到既然使用者知道函数的使用方法,也可以让使用者正确的使用这个函数,这个使用者是看不到这个函数是如何实现的!!!静态库和动态库的区别静态库和动态库的区别体现在程序的链接阶段:静态库在程序的链接阶段被复制到了程序中;

2024-09-12 16:47:10 961

原创 linux网络设置

如何将自己的linux系统网络设置为静态,这里讲述通用的方法-使用命令的方式。etc文件夹是存放配置文件的文件夹,改变网络配置也就是更改某个配置文件。

2024-09-09 21:18:15 953 1

原创 网络编程入门-实现服务器与客户端通讯

TCP概念:TCP(Transmission Control Protocol)协议指的是传输控制协议,是一个面向连接的传输协议,他是一个能提供高可靠性的通信协议,所谓高可靠性指的是数据无丢失、数据无误、数据无失序、数据无重到达。(打电话)适用场景:适用于对传输质量要求较高,以及传输大量数据的通信。在需要传输可靠数据的场合通常会选择使用TCP通信协议。比如QQ/微信/支付宝等通信软件的账户登录和支付相关功能是通常采用可靠的TCP通信协议来实现。

2024-09-09 16:10:53 513

原创 网络编程入门概念篇

独立于具体协议的网络编程接口在OSI模型中主要位于会话层和传输层之间。

2024-09-08 12:21:36 1653

原创 解决OpenMV非官方LCD显示

以下代码可以解决花屏,就是屏幕被分割的情况,但是并不能够解决完全能解决,屏幕起码能看,额,最好的方式就是改变驱动。

2024-09-02 17:24:02 705 9

原创 二叉树练习

树的根节点及其子树,都是相对的概念。在任何一棵树中都有一个根节点,而这棵树本身又可以是别的树的子树。树的基本概念有:A)双亲和孩子:一个节点的后继节点被称为该节点的孩子,该节点称为这些孩子的双亲。B)结点的度:一个节点孩子的个数。C)兄弟:拥有双亲的节点互为兄弟节点;D)节点的层次:人为规定根节点的层次为1或0(具体看说明),他的后代节点得层依次加一。E)树的高度:树中结点层次的最大值。F)终端节点:树最末端的叶子节点。

2024-08-22 17:05:51 1121

原创 内核链表的实现

内核链表最强的的地方在于,它可以存储任意类型的数据,我们只需要在节点里加上自己设定变量类型的标识,在遍历时我们获取节点的数据类型就可以进行打印并且内核指针可以有多对,这样这个节点可以存在于多个链表中。

2024-08-19 10:09:18 1068

原创 2024年电赛H题全开源

在制作小车过程中虽然遇到了很多困难与挫折但是我们要坚持下来,解决问题才是根本,有错误必有源头,顺着错误找源头才是正解!empty_LP_MSPM0G3507_nortos_ticlang · fighter/电子设计大赛 - 码云 - 开源中国 (gitee.com)【fighter】视频已打包,欢迎围观!_哔哩哔哩_bilibili。

2024-08-14 10:10:47 6972 5

原创 目标识别与跟踪系统

一切的不合理都是有原因的,有原因必有源头,顺着现象找原因解决问题才能成长起来!

2024-07-12 10:04:06 890

原创 linux基于wifi,Xshell的远程连接

Nmcli(Network Manager Command Line),是一个用于识别和配置 Internet 连接的常见 Linux 应用程序。许多发行版都有一个用于在桌面环境中使用 NetworkManager 的图形小程序,但如果在 Linux 服务器上,可能将无法访问桌面。通过终端连接 Wi-Fi 的一些方法有点复杂,涉及配置文件和你知道的 PSK 密钥。nmcli 不是这样。

2024-06-27 17:19:23 1232

原创 Linux命令学习2

使用方式:alias cl = 'ls -la'说明:将ls -la命令取别名为cl,使用这种方式只是临时将命令取别名,重启中断后,就会失效。问题1:如何永久性的设置命令的别名?答:修改配置文件,每一次打开终端都会自动执行该文件,只需要在该文件的末尾加上这条命令即可每次打开终端就可以使用改命令别名。使用VM打开配置文件:vim ~/.bashrc常用命令:G光标到文本最后一行,gg光标到文本第一行,i进入文本编辑模式,0当前行首,$当前行末在文件末尾加入:alias cl = 'ls -la'

2024-06-25 12:11:16 744

原创 linux安装ros2

输入命令:wget http://fishros.com/install -O fishros && . fishros。按照指示进行安装即可。

2024-06-20 22:34:47 197

原创 基于OLED菜单显示

菜单一般需要四个按键,上下移动光标,进入菜单,退出菜单。

2024-06-02 11:28:08 363

原创 Openmv拍摄与训练模型

image->RGB/灰度->保存->在上面点击Generate feature->Generating feature。login->注册/登录->点击用户图标->Create project(新建项目)如果生成的图片比较分明说明采集模型比较好,不好的原因可能是背景复杂,或模型不够丰富。点击Data acquisition可以来查看我们上传的模型,也可以删除不想要的。新建类文件夹一个模型一个类文件夹,我要识别1那就把1全部放在这个类文件夹里。模型采集->上传模型->训练模型->下载模型到openmv。

2024-05-30 21:25:08 1505

原创 OpenMv图片预处理

本博客讲述的是获取一张图片首先对图像进行处理,比如畸形矫正,图像滤波等操作。

2024-05-29 20:23:13 1694

原创 树莓派指令

在文本里ctrl+G就可以查看更多的快捷按键。2.1nano编辑器。

2024-05-28 16:28:48 378

原创 树莓派开箱

CPU:64位1.5GHZ四核处理器。蓝牙5.0电源Type C(5V 3A),也可以使用排针链接5V锂电池最大放电电流必须达到3A。还有千兆以太网等以后用到再说。接下来进入文章重点。

2024-05-28 16:27:27 856

原创 MSP430—ADC

对于8位、10位和12位分辨率,ADC12MMx的高位8位、高位6位和高位4位始终分别为零。对于8位、10位和12位分辨率,ADC12MMx的较低8位、6位和4位总是分别为零。位3–0在12位模式中是0,位5–0在10位模式中为0,位7–0在8位模式下为0。在12位模式中,位15-12为0,在10位模式中位15-10为0,而在8位模式中为0。0b=无采样和转换开始1b=开始采样和转换。3个控制寄存器,3个中断相关寄存器,16个存储通道转换数据的寄存器,16个控制存储通道数据的寄存器。

2024-05-27 17:04:17 1798

空空如也

空空如也

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

TA关注的人

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