c语言
USB_ABC
这个作者很懒,什么都没留下…
展开
-
通过STM32F756 QSPI来读写数据
8M的数据还是需要读很多时间,但还是可以接受的。直接生成BIN文件。这种方式非常慢,并不建议,并且是只能是HEX文件。原创 2024-02-25 17:23:18 · 471 阅读 · 0 评论 -
uCOS-III任务堆栈溢出检测及统计任务堆栈使用量的方法
从结果中我们看到SystemDataBroadcast任务的100字节的任务栈只用了58字节,使用率为58%,还有近一半的富余,100字节其实是合适了的,而 58X1.5 = 87,58X2.0 = 116, [87,116]之间取一个数,就取100吧,嘿嘿!注意的是,程序需用运行很长的时间以让堆栈达到其需要的最大值。但是请遵循一个原则:必须让系统运行足够久,比如尽量让系统处于不同的运行状态下,然后观察任务堆栈使用的变化,找到堆栈的最高使用率,然后根据上文所说的原则按需重新分配新的任务堆栈大小。转载 2022-11-15 07:44:44 · 902 阅读 · 1 评论 -
LWIP中一个奇怪宏定义的解析
对于lwip中内存池的大小,不同的lwip版本定义的方式不一样,但都大同小异。在lwip_1.4.1中,通过一个static函数获取内存池大小:u32_t memp_get_memorysize(void){ u32_t length=0; length=( MEM_ALIGNMENT-1 #define LWIP_MEMPOOL(name,num,size,desc) + ((num)*(MEMP_SIZE+MEMP_ALIGN_SIZE(size).转载 2021-09-17 22:39:08 · 433 阅读 · 1 评论 -
关于VBA的一些编程总结
这几天在做一个数据处理,文件是EXCEL格式的,本来想用PATHON或C++来做,但时间关系,本来就没有想到要做成多复杂,只是简单的做必要的数据处理。因此,使用了VBA这个工具,在网上找了一些基本的资料,边学边做。以下是一些总结的问题,希望在网友后面用到作为一些参考。改变单元格字体的COLOR和单元格底色Workbooks(1).Sheets(“Sheet3”).Range(“1:65536”).Font.Color = RGB(0, 0, 0)Workbooks(1).Sheets(“Sheet原创 2020-07-12 10:23:49 · 854 阅读 · 0 评论 -
上下显示1大3小的显示方式注解
## 标题对原来的上下显示1大3小的显示方式进行注解,比原来有新的认识了。这又有新的想法了。static void stDEMO_ModeUD13_FULL(OUTCHN_t Ch){/* add begin by lejianz, 2020-04-12, 原因: */// 下面对上下显示为1大3小的方式进行解读,4分割显示时,由于是上下全屏(FULL)显示,上半部分为2/3,下半部分为...原创 2020-04-12 21:35:26 · 270 阅读 · 0 评论 -
C++ 引用的本质是什么?
转载 ChengHai37 最后发布于2017-04-07 23:45:16 阅读数 3610 收藏 展开 结论: ①C++中的引用本质上是 一种被限制的指针(类似于线性表和栈,栈是被限制的线性表,底层实现相同,只不过逻辑上的用法不同而已)。 ②由于引用是被限制的指针,所以引用是占据内存的。③在使用高级语言的层面上,是没有提供访问引用的方法的。并且引用创建时必需初始化,创建后...转载 2020-02-28 09:49:19 · 511 阅读 · 0 评论 -
第三方C代码移植过程中的TYPEDEF重复定义问题
原文http://blog.vckbase.com/smileonce/archive/2005/08/06/10547.aspx第三方C代码移植过程中的TYPEDEF重复定义问题楔子: 本文主要描述了把第三方代码移植到某一目标平台过程中所发生的typedef重复定义的问题。之所以要写这个问题,原因有三:1>这个问题是一个移植代码过程中经常遇到的老大难问题2>我还没有完全(或者说完美...转载 2018-05-19 16:38:01 · 2270 阅读 · 0 评论 -
C中的预编译宏定义
C中的预编译宏定义 2009-02-10 作者: infobillows 来源:网络 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.转载 2017-06-25 11:28:58 · 3495 阅读 · 0 评论 -
二种“fatal error LNK1201: error writing to program database ” 解决办法
换了一台新电脑, 是WIN7+64位系统,因为项目需要,原来用VS2003做的项目,需要重新修改,但编译程序,出现PDB文件不能删除,不能改写。把VS2003关掉重启一下就可以了。上网找了二种办法,我用第二种方法,很好解决这个问题。第一种方法,编译一个修改文件名的程序,然后加到预处理文件中第二种方法,需要下载一个UNLOCKER,http://www.han转载 2016-10-10 15:58:10 · 2092 阅读 · 0 评论 -
非常详细的标准C的标记化结构初始化语法说明
对结构体struct a { int b; int c; }有几种初始化方式:struct a a1 = { .b = 1, .c = 2 };或者struct a a1 = { b:1, c:2 }或者struct a a1 = {1, 2};内核喜欢用第一种,使用第一种和第二种时,成员初始化顺序可变。 标记化结构初始化转载 2016-07-03 23:05:53 · 681 阅读 · 0 评论 -
标准C的标记化结构初始化语法
标准C的标记化结构初始化语法在标准C中(C89)结构标准初始化是用{}来实始化,在C99的版本,采用了采用可读性更强的标记化实始化,这在LINUX内核和驱动很为常见。这是ISO C99的用法C Primer Plus第五版中相关章节:已知一个结构,定义如下 struct book { char title[MAXTITL]; char author[转载 2016-07-03 22:49:41 · 335 阅读 · 0 评论