自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

转载 [C++]TscanCode代码扫描工具

TscanCode 是腾讯研发的静态代码扫描工具,最早的版本是基于 cppcheck 二次开发。之后又重新自研,不仅支持 C++,还支持 C#,Lua 语言,在发掘 C++ 空指针、越界、未初始化、C#空引用、Lua变量未初始化等比较有效。TScanCode 比较适用于游戏开发代码扫描,有着不错的准确率和效率,其性能测试可以见:https://blog.csdn.net/wetest_tencent/article/details/51516347。空指针错误越界错误资源泄露错误未初始化错误。

2022-09-10 15:32:57 1539 2

原创 Compare 4 30天评估期结束解决方法

reg delete “HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4” /v CacheID /f

2021-09-19 09:24:10 196

转载 [C++] map用法总结(整理)

1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对一

2021-06-05 10:55:18 238

原创 [ubuntu] 在linux系统中安装VSCode(Visual Studio Code)

1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make)访问Visual Studio Code官网https://code.visualstudio.com/docs?dv=linux64我是64位的:wgethttps://az764295.vo.msecnd.net/stable/7ba55c5860b152d999dda59393ca3ebeb1b5c85f/code-stable-code_1.7.2-1479766213_amd64.tar.gz2.解压 ..

2021-05-11 13:42:07 1213

原创 [ubuntu] 配置xftp命令

sudo apt-get updatesudo apt install openssh-serversudo apt-get install vsftpdsudo service vsftpd restart

2021-05-11 13:32:05 175

原创 [C] MISRA C 2004 中文

【环境】1.1 (R) 所有代码都必须遵照 ISO 9899:1990 “Programming languages - C”,由ISO/IEC 9899/COR1:1995 , ISO/IEC 9899/AMD1:1995 , 和 ISO/IEC 9899/COR2:1996 修订。1.2 (R) 不能有对未定义行为或未指定行为的依赖性。1.3 (R) 多个编译器和/或语言只能在为语言/编译器/汇编器所适合的目标代码定义了通用接口标准时使用。1.4 (R) 编译器/链接器要确保 31 个有效字符.

2021-05-08 15:05:36 1179

原创 [SMBus] SMBus接口的风扇控制芯片——LM96163

LM96163 具有集成风扇控制和 TruTherm BJT 晶体管 Beta 补偿技术的远程二极管数字温度传感器特性TruTherm BJT Beta补偿技术支持45nm,65nm和90nm处理器远程二极管 工厂修剪用于英特尔®45纳米处理器热二极管 精确感应二极管连接的2N3904晶体管或热二极管板载大型处理器或ASIC 准确感知其自身温度 集成PWM风扇速度控制输出支持22.5kHz频率的高分辨率,用于4针风扇 通过用户可编程的12步查找表降低声学风扇噪声 LUT过渡精细分辨率平滑

2021-04-27 19:32:22 2084

原创 [BAT] IP切换

@echo off color 00title IP切换脚本:start @echo --------------------------------- @echo IP模式:@echo 1.DHCP@echo 2.static 10.110.24.80@echo 3.static 192.168.40.5@echo --------------------------------- set /p sLocal=请选择: if %sLocal%==1 goto dhcp if .

2021-04-27 18:19:06 89

原创 [CMD] DSP CMD文件详解

1. CMD文件是什么?2. CMD文件功能3. CMD文件的基本语法4. CMD文件内容及使用方法5. 注意事项自定义段必须用在变量定义和使用前,使用#pragma DATA_SECTION(symbol, "section name");和#pragma CODE_SECTION(symbol, "section name"); 不能在函数体内定义段; CODE_SECTION用于定义代码段;DATA_SECTION用于定义数据段;6. 实例讲解...

2021-04-26 10:28:11 3658 1

原创 [CCS] CCS的安装及配置

目录1. 下载CCS镜像2. 安装CCS(以8.2.0.00007为例)3. 配置CCS1. 下载CCS镜像最新版本:https://www.ti.com.cn/tool/cn/CCSTUDIO?keyMatch=CCS&tisearch=search-everything#downloads历史版本:https://www.ti.com.cn/tool/download/CCSTUDIO#previous-versions2. 安装CCS(以8.2.0.00007为例)

2021-04-24 07:20:38 7451 1

转载 [BAT] Windows 批处理(bat)语法大全

本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看。 %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录 cd %~dp0 :进入批处理所在目录 cd %~dp0bin\ :进入批处理所在目录的bin目录 示例 这个示例在win10 x64测试正常 ::作用:以管理员身份安装Apached:cd %~d...

2021-04-23 20:41:29 549

原创 [BAT] 如何获取bat的上一级目录、上两级目录...

@echo offset currPath=%~dp0set parentPath=set parentparentPath=:beginfor /f "tokens=1,* delims=\" %%i in ("%currPath%") do (set front=%%i&&set currPath=%%j)if "%parentPath%%front%\" == "%~dp0" goto endset parentparentPath=%parentPath%se

2021-04-23 13:27:31 11923 3

原创 [USB] USB基础知识

Q:USB是什么?A: USB是通用串行总线(Universal Serial Bus)的缩写。Q: USB的优点有哪些?A: ① 支持热插拔:(hot-plugging或Hot Swap)即带电插拔。 ② 即插即用(PnP,即Plug and Play),也是USB设计的初衷之一。 ③ 传输速度快。 ④ 标准统一。 ⑤ 携带方便。 ⑥ 支持设备种类多。 ⑦ 其他Q: USB的缺点有哪些?A: ① 传输距离短。...

2021-04-17 06:17:40 793

原创 [USB] USB的四种传输类型与端点

目录1、事务2、控制传输3、同步传输4、批量传输PING事务:5、中断传输6、端点1、事务在介绍USB传输类型之前,请允许我先简答介绍一下USB事务。事务一般由令牌包、数据包(可选)、握手包组成。令牌包:用来启动一个事务,总是由主机发送。 数据包:可以从主机到设备,也可以由设备到主机,方向由令牌包决定。 握手包:通常情况,数据的接收者发送握手包(ACK或者NAK)。USB协议规定了四种传输类型:控制传输、批量传输、同步传输、中断传输。下面简答介绍一下这四种传

2021-04-17 06:16:58 869

原创 [USB] USB的包结构及包分类

目录1. 包结构2. 包分类2.1 令牌包2.2 数据包2.3 握手包2.4 特殊包USB的传输总是低位在前,高位在后。 USB的传输方向:从设备到主机的数据为输入;从主机到设备的数据叫做输出。1. 包结构以同步域开始,紧跟着一个包标识符PID(Packet Identifier),最终以包结束符EOP(End of Packet)结束这个包。同步域 作用:① 通知USB串行接口引擎数据要开始传输;② 同步主机和设备之间的时钟。 格式:① 全速/低速设备的同步

2021-04-17 06:14:17 860

原创 [C] C语言结构体定义位域,从bit0开始,依次到最高bit位

位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。举例说明:#include <stdio.h>#include <

2021-04-16 20:32:40 1215

原创 [SVN] 如何删除svn标签

SVN是Subversion的简称,是一个开放源代码的版本控制系统,对于多人共同开发同一个项目非常有用,但有一点比较让人头疼,那就是项目移植的时候,原来的文件夹带有很多可恶的svn标签,使其不能add -> commit。此时,我们必须删掉.svn,多个文件夹,层层嵌套,每一个文件夹都有一个.svn标签,开始动手删除,一个,一个,又一个,这手酸,怎叫一个爽字了得。下面给大家介绍一个快速删除文件夹下所有.svn标签的方法:1.新建文本文件,命名为remove-svn-folders.txt,内容

2021-04-15 11:56:12 609

原创 [SI] Source Insight 3.5 注释快捷键

步骤:1.新建文件comment.em,内容如下:// 添加多行注释macro MultiLineComment(){ hwnd = GetCurrentWnd() selection = GetWndSel(hwnd) LnFirst =GetWndSelLnFirst(hwnd) //取首行行号 LnLast =GetWndSelLnLast(hwnd) //取末行行号 hbuf = GetCurrentBuf() if(GetBufLine

2021-04-15 11:47:36 869

原创 [I2C&SPI] I2C和SPI的异同

I2C总线不是全双工(半双工),2根线SCL SDA。SPI总线实现全双工,4根线SCK CS MOSI MISO I2C总线是多主机总线,通过SDA上的地址信息来锁定从设备。SPI总线只有一个主设备,主设备通过CS片选来确定从设备 I2C总线传输速度在100kbps-4Mbps。SPI总线传输速度更快,可以达到30Mbps以上。 I2C总线空闲状态下SDA SCL都是高电平。SPI总线空闲状态MOSI MISO也都是 SCK是有CPOL决定的 I2C总线SCL高电平时SDA下降沿标志传输开始,上升

2021-04-15 11:32:41 1852

原创 [FreeRTOS] 错误排查

1.printf-stdarg.c在调用标准库函数时,栈空间的用量可能急剧上升,特别是IO与字符串处理函数,比如 sprintf()。在FreeRTOS下载包中有一个名为printf-stdarg.c 的文件,这个文件可以替代标准C库函数版本。在大多数情况下,可以调用sprintf() 及相关函数时,对栈空间的需求量小的很多。2. 栈溢出:uxTaskGetStackHighWaterMark() 用来查询指定任务在运行历史中,其栈空间还差多少溢出。3. 系统运行时,栈侦测的方法:方法.

2021-04-15 08:42:20 237

原创 [FreeRTOS] 内存管理

1. 标准malloc() 和 free() 库函数的缺陷:1)在小型的嵌入式系统中,可能不可用。2)具体实现相对较大,占用较多宝贵的代码空间。3)通常不具备线程安全性。4)具有不确定性,每次调用的时间开销可能不同。5)会产生内存碎片。6)会使得链接器、配置的复杂。2. 内存分配方案范例。1)Heap_1.c 仅实现 pvPortMalloc(),而没有实现pvPortFree(),但是 Heap_1.c 总是具有确定性。2)Heap_2.c 采用最佳匹配算法来分配内存,

2021-04-15 08:41:49 142

原创 [FreeRTOS] 资源管理

1. 多任务系统存在一个潜在的风险:资源管理。2. 基本临界区:taskENTER_CRITICAL()与taskEXIT_CRITICAL()或taskENTER_CRITICAL_FROM_ISR( x )与taskEXIT_CRITICAL_FROM_ISR()之间的代码。基本临界区可以保证对某个寄存器的访问不被中断。3. 在基本临界区不会切换到其他任务。中断可以执行,也允许嵌套,但只针对优先级高于configMAX_SYSCALL_INTERRUPT_PRIORITY的...

2021-04-15 08:41:19 60

原创 [FreeRTOS] 中断管理

1. 只有以“FromISR”或"FROM_ISR"结束的API函数或宏才可以在中断服务函数中使用。2. 除互斥信号量外,所有类型的信号量都可以调用xSemaphoreTake()来获取信号量,但xSemaphoreTake()不能用在中断服务函数中。3. 计数信号量的典型用法:① 事件计数;② 资源管理;4. 中断嵌套:控制中断嵌套的常量:1)configKERNEL_INTERRUPT_PRIORITY:设置系统心跳时钟的中断优先级。2)configMAX_SYSCALL_...

2021-04-15 08:40:33 104

原创 [FreeRTOS] 队列管理

1. 队列主要用于任务与任务、中断与任务之间的消息传递。2.创建队列时,请注意队列中数据单元的长度。3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读。当然,数据也可由队列首写入。4. 向队列中写入数据是通过字节拷贝,将数据拷贝到队列中;从队列中读取数据也是通过字节拷贝,将数据从队列中拷贝出来。说明:读数据分为两种情况:① 读取后,删除队列中的数据;② 读数据后,不删除队列中的数据。5. 队列不属于任何任务。所有的任务或中断函数都可以向同一队列写入或读出.

2021-04-15 08:39:53 231

原创 [FreeRTOS] 任务管理

1. FreeRTOS 任务不允许以任何方式从实现函数中返回——他们绝不能有一条“return”语句,也不可能执行到函数的末尾。如果一个函数不需要,可以将其删除,如在任务中使用函数vTaskDelete(NULL),将当前任务删除。2. 在启动任务调度器(osKernelStart())前,最好只创建一个起始任务,在启动任务调度器(osKernelStart())后,在起始任务中创建其他的任务,此时建议关闭中断。如taskENTER_CRITICAL(),...《创建任务》...taskEXI...

2021-04-15 08:38:35 278

原创 [sysbios] 同步和通信

Sysbios的同步和通信主要包括队列(Queue)、信号量(Semaphore)、邮箱(Mailbox)、事件(Event)、门(Gates)。队列-Queue要点:1. 基于双向链表实现,可以在任意位置插入或删除元素,并且队列元素没有最大值。2. 要在队列中增加结构体元素,这个元素的第一个字段必须是Queue_Elem类型的。Queue APIs信号量-Semaphore要点1. 信号量主要用于保护关键代码段,以及任务间的...

2021-04-15 08:31:56 847

Source Insight 3.5 注释快捷键——comment.em

Source Insight 3.5 注释快捷键——comment.em

2021-04-15

空空如也

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

TA关注的人

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