自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 RingBuffer环形缓冲区C语言

项目未能实现线程安全,仅供学习参考,工程项目请谨慎使用!!!RingBuffer 是一个基于C语言开发的环形缓冲区,适用于各嵌入式平台的串口收发等应用场景;在基本功能的基础上还提供了一个分段记录框架,方便数据管理;代码在AT32F403A平台上编译运行,经过简单的串口收发测试后暂未发现显性BUG。

2024-03-14 21:44:41 560

原创 CodeComplete-ReadingNote

问题定义->需求->架构->构建->系统测试->将来的改进“未能定义问题”的处罚是,你浪费了大量时间去解决错误的问题,这是床冲出发,因为你也没有解决正确的问题。

2024-01-28 22:50:57 955

原创 中断的分类、机理与嵌套:深入理解计算机系统的中断、陷入与异常

本文对计算机系统中的中断、陷入和异常进行了详细的探讨。我们了解了中断的分类、机理和嵌套,以及中断、陷入和异常的处理过程。这些概念对于理解计算机系统的设计和工作原理至关重要,尤其是在多任务环境和实时系统中。在未来,我们将继续研究这些概念在实际应用中的发展和创新。

2023-11-15 21:51:21 357

原创 FreeRTOS-定时器\二值信号互斥信号\事件组

FreeRTOS提供了一种软件定时器,用来快速实现一些周期性的操作,并且节约了硬件定时器。不过尽量还是不要做过多的操作,以免影响其他定时器的准度。演示了定时器定义,回调函数会每一秒进入一次,等到10次之后,定时器被销毁。还有一系列的中断中使用的函数。

2023-11-04 21:00:05 252

原创 操作系统-进程与线程、网络I/O模型

面向进程和线程学习操作系统。

2023-09-19 21:56:47 274

原创 Github上1.1KFork的C++笔记

原文链接,如果觉得本文对你有所帮助,欢迎去原地址点个Star⭐。侵删。

2023-09-13 22:12:38 275

原创 操作系统概述

"programs"就完了?那么多复杂的程序呢!"管理软硬/硬件、为程序提供服务"的程序?理解操作系统“精准”的定义毫无意义问出正确的问题:操作系统如何从一开始变成现在这样的?三个重要的线索计算机(硬件)程序(软件)操作系统(管理软件的软件)讨论狭义的操作系统对单一计算机硬件系统作出抽象、支撑程序执行的软件系统学术界谈论“操作系统”是更广义的" System"(例子:OSDI/SOSP)

2023-04-01 22:34:31 526 1

原创 三万字长文总结C语言规范

unix like风格:单词用小写字母,每个单词直接用下划线„_‟分割,例如text_mutex, kernel_text_address。Windows风格:大小写字母混用,单词连在一起,每个单词首字母大写。不过Windows风格如果遇到大写专有用语时会有些别扭,例如命名一个读取RFC文本的函数,命令为ReadRFCText,看起来就没有unix like的read_rfc_text清晰了。匈牙利命名法是计算机程序设计中的一种命名规则,用这种方法命名的变量显示了其数据类型。

2023-03-26 22:34:11 250

原创 嵌入式系统QNX概述-微内核架构进程管理安全性

嵌入式系统QNX概述-微内核架构;进程管理;线程状态;安全性等

2023-03-12 22:41:50 2484

原创 数据类型与输出格式不一致时,附ASCII码表

【代码】数据类型与输出格式不一致时,附ASCII码表。

2023-03-11 20:15:50 111

原创 嵌入式相关开源项目、库、资料------持续更新中

本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux、计算机等资源。

2023-02-14 22:25:48 3758 3

原创 统一建模语言UML详解附思维导图

用例图、类图、顺序图

2023-01-16 21:33:51 711

原创 一年一度的【博客之星】评选活动已开始,请大家为我投个五星

一年一度的【博客之星】评选活动已开始,请大家为我投个五星,您的支持就是我持续创作的动力,感谢支持!https://bbs.csdn.net/topics/611391136

2022-12-30 11:02:40 209 2

原创 函数与文件结构

函数与文件结构

2022-12-23 22:46:36 280

原创 一文读懂内存管理

你需要知道有关内存管理

2022-12-23 22:46:07 1413

原创 一文读懂指针与数组

一文读懂指针与数组

2022-12-23 22:43:55 111

原创 C语言编程技巧

C语言编程技巧,关键字,符号,预处理.

2022-12-23 22:41:19 673

原创 c/cpp常用头文件大全

C、C++常用头文件大全

2022-12-23 22:29:15 1185

原创 嵌入式 接口技术

嵌入式接口:AD、DA、音频、串行、并行等

2022-12-23 22:22:30 314

原创 嵌入式系统定义组成调度等

嵌入式系统、定义、组成等

2022-12-23 22:16:06 130

原创 C++任意类型与字符串相互转换

C++字符串与任意类型相互转换。

2022-09-08 16:30:24 552

原创 两个char型数据有效位不超过四位分别赋给高地址和低地址

单字节的高地址低地址赋值

2022-08-09 16:05:25 138

原创 校招行测笔试-数量关系

解题技巧与经典题型

2022-07-03 16:41:50 1210

原创 C语言高级用法--函数指针:回调函数;转换表

函数指针最常见的两个用途:作为参数传递给另一个函数(回调函数)和转换表(jump table),本文将探索这两方面的一些技巧。

2022-06-27 22:22:53 322

原创 C++指针和引用

**复合类型**(compound type)是指基于其他类型定义的类型。C++语言有几种复合类型,诸如结构体、共用体、枚举等,本文将介绍其中的两种:引用和指针。

2022-05-29 17:19:42 874

原创 校招行测笔试-言语理解与表达

校招行测笔试-言语理解与表达本文思维导图:完整版思维导图,微信公众号【刘看山是山】后台回复[行测]一.片段阅读1.中心理解题1.1逻辑连词1.1.1转折关系标志词​ 虽然 ……但是 ;虽说 …可是;尽管……可是……;……不过……;……然而……;​ ……却……;其实/事实上/实际上理论要点:转折之后是重点​ 示例:​ 尽管双 11 很便宜,可是我还是买不起啊​ 这次行测考试很简单,然而我还是没答完啊【例 1】一直以

2022-04-30 17:52:54 3378

原创 必知必会-CPP的23个Tips

0x01:extern关键字可以在任何地方使用,但变量只能在某个文件、函数或代码块中被定义一次。0x02:定义包含声明,但声明不包含定义。0x03:NULL:数据类型pointer作为全局变量,系统自动初始化为该值。0x04:在main()函数外为全局变量,函数内为局部变量。二者名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。重名变量,作用域小的屏蔽作用域大的。0x05:当局部变量被定义时,系统不会对其初始化,您必须对其初始化。正确地初始化变量是一个良好的编程习惯,否则有时候程

2022-04-23 17:01:51 1120

原创 职业规划-三大职业生涯阶段

第一阶段:添加燃料,强制开局整个第一阶段往往长达十五年,是一个学习和探索的过程,充满了尝试和错误。这并不是为了找到一份你每天都津津乐道的神话般的工作,而是找出你擅长什么、不擅长什么、喜欢做什么,以及不喜欢做什么。第一阶段并不仅仅是被动地增长年龄和阅历,像一块牛排一样“更加入味”,而是一个高度活跃和有目的性的阶段。司徒慕德爵士说过:“职业生涯绝不是一条笔直上升的路线。我们常常需要为了前进而后退,为了变得更好而变得更坏,为了获得进步而投入资本。最好的旅途总是发生在迷路时。”第一阶段的策略很简单:步入职场

2022-04-17 18:15:06 617

原创 职业规划-储备三大职场燃料

为了推动自己的走完这段漫长的旅程,你需要大量的职场燃料。这个燃料有三个主要来源:可迁移技能、有意义的经验和持久的关系。本文思维导图:一.可迁移技能1.解决问题的能力从某种程度上说,世界上任何一份工作都是为了解决某个问题而存在。你能够分析问题并指定解决方案吗?当你面对一项挑战和一张白纸时,你是否有一两套能解决问题的可靠方法呢?有不少理论框架和策略能帮助你提高解决问题的能力。你应当有意识地往自己的工具箱里添加些不同的方法,并勇于将不用的方法结合起来,创造出适合自己的独门秘方。2.说服式沟通技巧无

2022-04-10 18:56:31 837

原创 必知必会-C语言内存管理

内存管理衡量是否掌握C语言的两个标准,一:指针;二:内存管理。指针的相关内容欢迎查看历史文章,本文会介绍C语言内存管理的相关知识,其对于读者之后的编程生涯也会大有裨益。如果你有相关需求,就往下看吧。一.栈、堆和静态区对于程序员,一般来说,我们可以简单的理解为内存分为三个部分:静态区,栈,堆。很多书没有把把堆和栈解释清楚,导致初学者总是分不清楚。其实堆栈就是栈,而不是堆。堆的英文是 heap;栈的英文是 stack,也翻译为堆栈。堆和栈都有自己的特性,这里先不做讨论。再打个比方:一层教学楼,可能有

2022-04-05 17:41:59 1479

原创 必知必会--数组与指针二

指针与数组一四.指针数组与数组指针4.1指针数据和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在 32 位系统下永远是占 4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。下面到底哪个是数组指针,哪个是指针数组呢:(A) int *p1[10];(B) int (*p2)

2022-04-04 17:39:27 1382

原创 必知必会系列-指针和数组

指针和数组读文章前思考三个问题:1.什么是指针?2.什么是数组?3.指针和数组之间有什么关系?一.指针1.1 指针的内存布局int *p;大家都知道这里定义了一个指针 p。但是 p 到底是什么东西呢?我们把 p 称为指针变量,p 里存储的内存地址处的内存称为 p 所指向的内存。指针变量 p 里存储的任何数据都将被当作地址来处理。我们可以简单的这么理解:一个基本的数据类型(包括结构体等自定义类型)加上*号就构成了一个指针类型的模子。这个模子的大小是一定的,与*号前面的数据类型无关。*号前面

2022-03-14 17:49:55 529

原创 去掉VS中ipch文件和.sdf文件的解决方法

VS2010 按F12 未能找到符号 的定义 的解决办法:"工具"菜单->选项->文本编辑器->你的语言(eg:C/C++)->高级:1 “禁用Intellisense”==false;2 "浏览/导航"全部选false,扫描间隔随意(eg:15);sdf和解决方案重新生成1、"生成"菜单->清除解决方案;(?)2、关闭VS2010或解决方案;3、删除解决方案对应的 .sdf文件;4、生成->重新生成解决方案;再次转到定义(F12)就OK了...

2022-03-10 18:44:09 869

原创 必知必会-C语言关键字篇

关键字1.registerregister:这个关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中而不是通过内存寻址访问以提高效率。注意是尽可能,不是绝对,因为一个CPU的寄存器的数量是有限的,不可能把这些变量都放入寄存器中。寄存器:数据从内存里拿出来先放到寄存器,然后 CPU 再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里,CPU 不直接和内存打交道。为啥要这么麻烦啊?因为速度。寄存器其实就是一块一块小的存储空间,只不过其存取速度要比内存快多。近水楼台先得月嘛,它离

2022-02-26 14:41:59 626

原创 135. 分发糖果

class Solution {public: int candy(vector<int> &ratings) { if (ratings.size() == 0) return 0; if (ratings.size() == 1) { return 1; } vector<int> candy(ratings.size(), 1); f

2021-12-25 21:46:14 293 4

原创 力扣121题

class Solution {public: int maxProfit(vector<int>& prices) { if(prices.empty()) return 0; //直接利用一个循环,找到最小的价钱作为买入价,并找到在此买入价下的最大利润 int profit = 0; int min = prices[0]; for(int i = 1; i

2021-12-25 21:44:59 294

原创 力扣25. K 个一组翻转链表

class Solution {public: ListNode* reverseKGroup(ListNode* head, int k) { if (head == nullptr) return head; auto tail = head; for(int i = 0; i < k; ++i) //先让tail移动k个节点 { if(tail == nullptr) return he..

2021-12-25 21:43:16 152

原创 力扣92. 反转链表 II

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next)

2021-12-25 21:41:30 282

原创 C++类成员函数的重载、覆盖与隐藏

成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。一.函数重载1.重载的原因:在 C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。 这样便于记忆,提高了函数的易用性,这是 C++语言采用重载机制的一个理由。例如下面例子中的函数 EatBeef,EatFish,EatChicken可以用同一个函数名 Eat 表示,用不同类型的参数加以区别。void EatBeef(…); // 可以改为 void Eat(Beef

2021-12-19 13:55:32 618

原创 关于任务规划和提高执行力

本文主要分为以下几部分:任务规划的方法,提高执行力的三种工作法,一些小技巧,推荐书籍。

2021-12-12 16:35:50 1502

统一建模语言UML思维导图

统一建模语言UML思维导图

2023-01-16

markdown编辑器Typora

markdown编辑器Typora,解压后,直接点击Typora.exe即可使用。

2022-05-19

软件设计文档模板.rar

该文档包含了操作手册、测试分析报告、测试计划、概要设计文档、开发进度月报、可行性研究报告、模块开发、软件需求说明书、数据库设计说明书、数据要求说明书、详细设计说明书、项目开发计划等文档模板

2021-09-22

空空如也

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

TA关注的人

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