自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (19)
  • 收藏
  • 关注

原创 记RT-Thread rt_timer_start函数的问题

之间代码执行被中断,使得这个timer被中断代码插入定时器链表,中断执行完成之后,线程代码继续执行,此时链表中已经存在这个timer,这个timer会再一次被insert,定时器链表由此被破坏。我遇到的情况是这个timer被再一次insert后,next和prev指针都被修改为指向timer自身链表节点。在这种情况下,如果对链表进行遍历,会在这个timer链表节点死循环。如果存在多个地方对同一个timer进行启动操作,例如在线程中start和中断中 start,有可能会在第一次。在4.0.3版本中的。

2023-08-01 14:49:26 715

原创 freeModbus的BUG

RT-Thread系统中集成freeModbus 1.6.0版本的BUG

2022-10-25 23:24:17 548 1

原创 RT-Thread终端串口改成DMA方式后死机的问题

RT-Thread的终端串口设备默认没有以DMA的方式进行open,如果需要进行比较多的数据打印,串口输出会占用大量的时间。原因就是serial.c中进行输出前,将数据先push到了数据队列,数据队列一旦满了就会将“线程”挂起,但是初始化(打印RT-Thread的logo)的时候并没有初始化线程调度器,这个时候没有线程,rt_thread_self()获取的就是NULL,rt_thread_suspend中触发断言RT_ASSERT(thread!= RT_NULL)就死机。

2022-09-22 20:31:14 557

原创 关于STM32时钟树的胡思乱想

关于STM32时钟树的胡思乱想

2022-07-03 17:18:28 99

原创 RT-Thread CAN驱动问题

在比较早的时候就发现RT-Thread的CAN驱动存在一些问题。当时并没有去记录,最近又因为这个驱动问题搞的一个头两个大。因为产品已经发到国外了,就算进行升级也是比较麻烦的。RT-Thread的CAN驱动在CAN没有出错的时候是可以正常工作的,一旦CAN总线出现一问题,这个驱动就变得不那么稳定了。我觉得在CAN总线发生故障状态下,这个驱动会出现问题的点有以下几个:rt_inline int _can_int_tx(struct rt_can_device *can, const struct rt_ca

2022-03-11 00:19:10 1932 2

原创 VideoCapture打开视频失败

前几天安装的OpenCV《小白-《学习OpenCV3》-安装OpenCV》在读取视频的时候一直打开视频文件失败。折腾了一下,发现是在进行配置的时候找不到ffmpeg。需要在安装依赖的时候多安装几个(不知道具体是缺失哪个依赖导致的问题):sudo apt-get install libgtk-dev -ysudo apt-get install build-essential git cmake pkg-config -ysudo apt-get install libpng-dev -ysudo

2021-07-31 17:41:59 2502

原创 小白-《学习OpenCV3》-安装OpenCV

这里写自定义目录标题小白-《学习OpenCV3》-安装OpenCV1、安装环境2、安装开发包3、下载OpenCV源码,编译,安装4、安装VScode5、第一个程序6、例程编译报错7、编译运行小白-《学习OpenCV3》-安装OpenCV1、安装环境树莓派4BRaspberry Pi OS with desktop2、安装开发包sudo apt-get install libgtk-dev -ysudo apt-get install build-essential git cmake pk

2021-07-25 22:33:52 710 1

原创 MCP2515驱动程序

下载链接  STM32芯片内部已有1个或2个CAN控制器,但是在有些情况下两个CAN控制器依然不够使用。将CAN网络合并,一是造成网络中数据量增加、总线拥挤,低优先级的ID报文发送实时性不够;二是合并网络后有报文的过滤问题。所以有些时候需要外扩一个CAN控制器。  这个下载资源提供了基于RT-Thread的MCP2515驱动程序,该驱动程序使用了RT-Thread的SPI驱动和CAN驱动框架,准确来说,应该是用SPI驱动读写MCP2515,然后将数据转给CAN驱动的底层,这样做的考虑是为了实现接口的统一

2020-11-28 09:15:49 1991 2

原创 查找算法之二分查找(插值查找)

  对半查找和斐波那契查找对于元素关键字的整体分布没有要求,可以均匀分布,也可以不均匀分布。对于关键字分布不均匀且没有规律的情况,确实很难找到更好的方法提高算法的查找效率;但是如果查找序列的关键字分布均与,那么是可以利用这种均匀性来提高算法效率的,例如使用插值查找。  在关键字值分布均匀的情况下,使用插值查找可以提高效率,那插值查找的原理是怎样的?下面举一个例子:关键字2468...

2020-04-02 23:55:06 295

原创 查找算法之二分查找(斐波那契查找)

斐波那契数列  在数学中,斐波那契数列的定义是:fn={n(n=0,1)fn−1+fn−2    (n⩾2      )f_n=\left\{\begin{array}{lc}n&(n=0,1)\\f_{n-1}+f_{n-2}\;\;&(n\geqslant2\;\;\;)\end{array}\right.fn​={nfn−1​+fn−2​​(n=0,1)(n⩾2)​  ...

2020-03-31 20:29:05 1912 2

原创 查找算法之二分查找(对半查找)

  当有序表采用顺序存储时,可以采用二分查找的方式查找指定关键字的元素。  二分查找的基本思想是选择表中某一位置i的元素A(i),设该元素的关键字为K(i),将K(i)与待查找关键字key比较。关键字k1k_1k1​k2k_2k2​K(3)K(4)K(5)……K(i-1)K(i)K(i+1)……K(n-4)K(n-3)K(n-2)K(n-1)K(n)...

2020-03-30 20:24:23 6521

原创 查找算法之顺序查找

  对顺序存储的数据进行查找,最简单的算法就是从头开始,逐个检查。若能够在表中找到与给定关键字匹配的元素,则查找成功,否则查找失败。  这个算法可以非常简单的得以实现:typedef struct{ int key; int value;}s_eletype;typedef struct{ int size; s_ele...

2020-03-28 22:18:54 409

原创 RT-Thread中的链表结构

文章目录  RT-Thread中的链表是带表头节点的双向循环链表结构,它的表头节点与之前的博客《双向循环链表》中介绍的表头节点不同,之前博客介绍的表头节点与后继节点结构是一致的,只是因为考虑到指针类型问题,如果链表节点中指向后继节点或是前驱节点的指针类型出现了不一致,在访问过程中会更加复杂。RT-Thread中采用了别样的链表结构,让链表更加灵活。...

2020-01-23 13:32:21 2067

原创 双向循环链表

文章目录双向循环链表双向循环链表节点结构双向循环链表  在单向循环链表中,如果要在末尾插入一个节点,必须从head一个节点一个节点往后查询,尽管新建节点是插入在末尾节点和起始节点之间。在节点数较多的情况下,这一过程是费时的。此外,在实际应用中,有时需要逆向访问表中元素,这对单向链表或单向循环链表结构来说显然是困难的。为解决这一问题,可将链表设计成双向链表或双向循环链表。  以双向循环链表为例...

2020-01-21 10:15:59 353

原创 单向循环链表

文章目录  单向循环链表是将单链表尾节点的指针域置为起始节点的地址,而不再是NULL,这样从表中任一节点出发,均可访问到链表中的所有节点。  显然单向循环链表的节点类型与普通单向链表完全相同。...

2020-01-17 12:58:07 958

原创 单向链表

文章目录单向链表基本概念单向链表的节点结构单向链表的操作构造单向链表节点单向链表的插入单向链表末尾插入单向链表有序插入单向链表基本概念  在基于指针的链式结构中,单向链表是最基本的。  在单向链表中,每个节点都有两个域,一个是用于存放数据元素的域Element,一个用于指向后继节点的指针域Link。  单向链表的第一个节点称为起始节点,指向起始节点的指针称为头指针,头指针为NULL的单...

2020-01-13 12:29:16 442

原创 STM32如何快速定位HardFault异常

STM32编程中,HardFault是比较常见的错误,如何快速定位问题在调试时非常重要。开启DEBUG模式,全速运行,如果MDK在遇到HardFault错误时没有自动停止,则手动按下STOP,这时软件自动跳转到HardFault中断的while处。Cortex-M3处理器在进入中断前,硬件会自动将8个字大小的栈帧压入堆栈NN+4N+8N+12N+16N+20N+24N+...

2020-01-11 22:49:58 1821

原创 FPM出现搜索不到cadence安装路径错误

FPM下载链接:在用FPM批量生成封装库的时候,有时候会遇到FPM搜索不到cadence安装路径的问题。如果已经安装了cadence,则大概率是环境变量问题。检查一下环境变量设置:CDS_LIC_FILE:D:\Cadence\LicenseManager\license.datCDSROOT:D:\Cadence\Cadence_SPB_17.2-2016CHDL_LIB_INST_D...

2020-01-09 09:53:07 2440 1

原创 串行通信(8250)

一、串行异步通信数据格式起始位数据位校验位停止位1位5~8位1位(可选)1位或1.5位或2位注: 停止位在8250寄存器中只有一位bit控制,为0则为1位停止位,为1则由8250根据数据位自动选择1.5位(5位数据)或是2位(大于5位数据)停止位。波特率:时钟信号与波特率一般有一定的比率关系,例如:16倍、32倍、64倍。如果时钟速率是信号速率的16...

2019-11-30 21:23:35 7862

原创 指令系统与汇编程序设计简答

(1)、什么叫指令?什么叫指令系统?8088指令系统有哪几种类型指令?指令是CPU执行某种操作的命令。CPU全部指令的集合称为指令系统。8088的指令类型有传送类、算术运算类、逻辑运算类、转移和调用指令等。(2)、什么叫寻址方式?8088指令系统有哪几种寻址方式?寻址方式是指CPU获取操作数的方式。寻址方式的种类:立即数寻址、寄存器寻址、内存操作数寻址(3)、何为汇编语言程序...

2019-11-30 19:08:03 500

原创 输入/输出系统简答

(1)、什么是接口?接口是CPU与外部设备之间的连接部件,是CPU与外部设备进行信息交换的中转站。(2)、为什么要在CPU与外部设备之间设置接口?CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系。CPU与外设的速度不匹配,CPU的速度快,外设的速度慢。CPU与外设之间若没有设置接口,则外设的硬件结构会依赖于CPU,对外设的发展于更新不利(3)、微型计算机的接口...

2019-11-30 19:07:09 575

原创 8086中断系统简答

(1)、什么是中断?什么是中断源?中断系统应该具备什么功能?CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回中断的程序,这以过程称为中断。能够引发CPU中断的信息源,称为中断源。中断系统应具备以下功能:为了加强中断系统的灵活性,对于硬件设备的中断请求,应当具有屏蔽和开放的性能,使得程序员能够灵活控制。能实现"中断判优"即中断源排队,当有多个中断源提出请求时,能够优先响应高级...

2019-11-30 19:06:08 5643

原创 8237A DMA控制器简答

(1)、比较中断和DMA两种传输方式的特点。在中断模式下,外设需与主机传送数据时要请求主机给与中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在所执行的指令控制之下。在DMA模式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与存储器之间需要传送数据时,外设向DMA控制器发出DMA请求,DMA控制器向CPU发出总线请求,取得总线控制权后...

2019-11-30 19:04:55 4436

原创 使用PTR运算符的情况

一、双操作数指令中(如MOV,ADD,SUB等指令)源操作数为立即数,目标操作数为直接寻址的存储器操作数,当两者类型属性不一致时,存储器操作数必须用PTR临时修改其属性,使源操作数和目标操作数类型一致。源操作数为立即数,目标操作数为间址,变址,基址或基址加变址寻址的存储器操作数,无论两者类型属性是否已经一致,存储器操作数必须用PTR显式说明其类型属性,使得源目操作数类型属性一致。源操作数和...

2019-11-30 19:02:37 2390

原创 软件中断调用

DOS功能调用DOS中断号范围:0x20H~0x3FH,总共32个中断向量INT 21H01H号子功能: 等待从键盘输入一个字符,同时将该字符显示在显示器上入口参数:无出口参数:AL=按键的ASCII码02H号子功能: 显示一个字符入口参数:DL=待显示字符的ASCII码出口参数:无07H号子功能: 等待从键盘输入一个字符,但该字符不显示在显示器上,不响应CTRL_C...

2019-11-30 19:01:31 1047

原创 8086处理器的内存寻址方式

8086处理器的内存寻址方式主要分三种寄存器寻址立即寻址内存寻址(也有书叫存储器操作数寻址)寄存器寻址最简单的寻址方式就是寄存器寻址。也就是指程序执行时,操作的数就存放在寄存器当中,可以直接从寄存器中取得。例如: mov ax ,bx mov cx ,0xf000 inc cx这些都涉及了寄存器寻址。第二条指令中的目的操作数是寄存器寻址方式,因此该操作数也是寄存器寻...

2019-11-30 18:59:44 1977 1

原创 中断系统简答

(1)、什么是中断?什么是中断源?中断系统应该具备什么功能?CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回中断的程序,这以过程称为中断。能够引发CPU中断的信息源,称为中断源。中断系统应具备以下功能:为了加强中断系统的灵活性,对于硬件设备的中断请求,应当具有屏蔽和开放的性能,使得程序员能够灵活控制。能实现"中断判优"即中断源排队,当有多个中断源提出请求时,能够优先响应高...

2019-11-29 20:14:00 28

原创 Altium Designer元件库

Altium Designer元件库这是个人收集整合的AltiumDesigner元件库,元件种类可能并不多,主要是一些常用元件,库中大部分元件都配有3D封装。可以在设计和拉线的时候更好的了解每个元件的摆放,及各元件的干涉情况。工程示例...

2019-10-26 11:48:15 3978 2

原创 LwIP学习笔记—find_entry

初次接续网络,花了大把时间啃源代码,好在数据组织结构不是很复杂,一路下来还算顺利.此次写下这篇博客,仅作为本人学习路上的一篇学习笔记函数find_entry的本质是做一个查找,对缓存表进行顺序的查找,可以分为3个步骤第一步:查找整个缓存表,找出和目的IP地址匹配的表项(该表项一定处于pending或stable状态),若找到,则返回位置引索,找不到,进行下一步第二步:说明表中没有相关表项...

2016-12-10 11:10:00 32

opencv_contrib.7z

opencv_contrib.7z

2021-07-31

opencv-4.5.3.zip

opencv-4.5.3.zip

2021-07-31

pyimagesearch.com-Install OpenCV 4 on Raspberry Pi 4 and Raspbian Buster.pdf

https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/这个网页保存成的PDF,在安装OpenCV的时候遇到了些问题,参照了相关的资料,防止后面这个链接可能出现失效,所以保存PDF作为学习文档

2021-07-31

MCP2515驱动程序

基于RT-Thread的MCP2515驱动程序,相当于是在SPI驱动和CAN驱动之间做了一个数据转接层,功能不是十分完善,详情请参见本人相关博客

2020-11-27

FPM_0.080.exe.7z

该工具用于批量生成cadence封装,虽然手动建立封装也不麻烦,但是提高点效率(能偷懒就偷懒)也不错。

2020-01-08

package.7z

cadence封装库,共计2926个元件封装,本人没有一一进行详细审核,如果发现有错误,欢迎大家进行反馈。

2020-01-08

Jesse_Library.IntLib

这是个人收集整合的AltiumDesigner元件库,元件种类可能并不多,主要是一些常用元件,库中大部分元件都配有3D封装。可以在设计和拉线的时候更好的了解每个元件的摆放,及各元件的干涉情况

2019-10-25

江苏科技大学微机原理期末试卷5.pdf

江苏科技大学微机原理期末试卷5,pdf版,

2019-10-25

江苏科技大学微机原理期末试卷4.pdf

江苏科技大学微机原理期末试卷4,pdf版,

2019-10-25

江苏科技大学微机原理期末试卷3.pdf

江苏科技大学微机原理期末试卷3,pdf版,

2019-10-25

江苏科技大学微机原理期末试卷2.pdf

江苏科技大学微机原理期末试卷2,pdf版,

2019-10-25

江苏科技大学微机原理期末试卷1.pdf

江苏科技大学微机原理期末试卷1,pdf版,

2019-10-25

单级ABA52563射频宽带放大&PE4302;程控衰减.7z

单级ABA52563射频放大,和PE4302程控衰减,实测在1GHz以下可实现20dB左右增益,高于1GHz没有条件测试,内含原理图和PCB源文件

2019-08-30

两级ABA52563射频宽带放大与PE4302程控衰减原理图.SchDoc

两级ABA52563级联放大,可实现小信号20dB以上增益,PE4302实现0~31.5dB信号衰减

2019-08-30

南京理工大学微机原理历年部分真题.7z

南京理工大学微机原理考研历年部分真题,不是高清,不是高清。

2019-08-30

南邮微机原理初试考研真题(2002~2014年).7z

南邮微机原理部分历年真题,不是高清版本,影印版。

2019-08-30

南邮_微机原理作业_孙力娟_部分课后题_.doc

南邮微机原理考研指定教材《微型计算机原理与接口技术-清华大学出版社》部分课后习题

2019-08-30

Linux-2.6.11内核源码

《Linux内核分析及编程》配套源码,本想设置资源分为0,好像最低只能为2

2018-01-22

TQ210裸机程序

包含TQ210_BOARD_V6板卡中的LED,时钟初始化,UART初始化,printf格式化输出裸机代码

2017-11-09

空空如也

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

TA关注的人

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