文件转换为C数组 fileToC

fileToCgithub项目地址 简单说明fileToC 是一款使用 python 编写的程序,可以将任意文件的二进制数据转换为 .C 文件的数组,以便程序编译。 双击 fileToC.exe 程序,将要转换的 test.any 文件拖入命令行,等待程序自动转换,结束后便可以得到一个和该文件同名的 .c 文件     阅读全文
cyang's avatar
cyang 5月 18, 2018

CSDN博客数据导出

CSDN2HEXO 源码地址CSDN2HEXOCSDN2HEXO 是一款基于CSDN开放平台 的 csdn blog 内容下载器, 可以下载博客中的文章内容和图片,文章保存为 markdown 格式,图片可下载无水印图片,并根据文章标题生成文件夹存储相关数据。     阅读全文
cyang's avatar
cyang 4月 28, 2018

C语言中,隐藏结构体的细节

本文转载自 博客园 我们都知道,在C语言中,结构体中的字段都是可以访问的。或者说,在C++ 中,类和结构体的主要区别就是类中成员变量默认为private,而结构体中默认为public。结构体的这一个特性,导致结构体中封装的数据,实际上并没有封装,外界都可以访问结构体中的字段。     阅读全文
cyang's avatar
cyang 4月 18, 2018

C语言 符号的不同意义

C语言的许多符号在不同的上下文环境里有不同的意义,相当于被“重载”了。如下展示了一些符号的不同意义。 static 在函数内部,表示该变量的值在各个调用间一直保持延续性。类似与全局变量,区别在于作用域不同。 在函数外部,表示该函数或者变量只对本文件可见。     阅读全文
cyang's avatar
cyang 3月 28, 2018

IAR 和 Keil 使用外部 SDRAM 的区别

当芯片内部的 SRAM 不够用时,就需要在外部扩展 SDRAM,然后在写程序时将一些比较大的 buffer 定义在外部内存中。在进行正确的配置之后,对外部 SDRAM 的使用,和芯片内部的 SRAM 是一样的,可以直接对 SDRAM 的地址进行读写访问。     阅读全文
cyang's avatar
cyang 3月 26, 2018

C语言 ringBuffer

一、 ringBuffer 介绍ringBuffer 称作环形缓冲,也有叫 circleBuffer 的。就是取内存中一块连续的区域用作环形缓冲区的数据存储区。这块连续的存储会被反复使用,向 ringBuffer 写入数据总是从写指针的位置开始,如写到实际存储区的末尾还没有写完,则将剩余的数据从存储区的头开始写;从该 ringBuffer 读出数据也是从读指针的位置开始,如读到实际存储区的末尾还没有读完,则从存储区的头开始读剩下的数据。     阅读全文
cyang's avatar
cyang 3月 22, 2018

C语言 Malloc 内存泄漏

错误代码如下: int Init_layer2_Decoder(void) { Stream = (struct mad_stream*)malloc(sizeof(struct mad_stream)); Frame = (struct mad_frame*)malloc(sizeof(struct mad_frame)); Synth = (struct mad_synth*)malloc(sizeof(struct mad_synth)); if(Stream==NULL || Frame==NULL || Synth==NULL) { printf("init mp2Dec fail!\n"); return -1; } mad_stream_init(Stream); mad_frame_init(Frame); mad_synth_init(Synth); return 0; }     阅读全文
cyang's avatar
cyang 3月 18, 2018

STM32 硬件CRC和软件CRC速度比较

一、测试条件硬件: STM32L432KC主频: 80MHz编译器: IAR 8.20.1编译选项: High Speed no size constraintsCRC 生成多项式: 0x782f 二、测试方法软件提前生成CRC表,用于查询。分别使用软件CRC算法和硬件CRC外设对一个缓存进行计算,目的是从该缓存中找到同步头。同步头共11字节,前两个字节为后九个字节的CRC校验值。通过迭代算法依次对11字节进行计算和比较,当找到同步头后返回同步头偏移量。通过时间比较两者之间的速度。 三、测试结果迭代24464次后,从缓存中找到同步头。不开启编译时间优化时,软件算法用时238ms,硬件CRC用时220ms。     阅读全文
cyang's avatar
cyang 3月 12, 2018

下载 Tumblr 标记为喜欢的内容

源代码发布在github : get_tumblr_likes 一、介绍本项目使用 python 编写,分析 tumblr 账户中喜欢的内容,给出资源链接,并下载。其中 test.json 是一份 tumblr 返回的喜欢数据的 json 示例,提取里面图片和视频的资源地址后下载,下载的内容如下图。     阅读全文
cyang's avatar
cyang 3月 03, 2018

STM32 无法通过 百分号F 打印浮点数

一、问题使用 IAR 开发 STM32,发现无法通过 printf 重定向到串口打印出浮点数。代码如下:     阅读全文
cyang's avatar
cyang 3月 03, 2018