cyang's blog

嵌入式入门/*到头发护理*/

排序:
默认
按更新时间
按访问量

ide 与 leetcode 运行结果不一样

在做 leetcode 的第 15 题, 3Sum 时发现,同样的代码在本地运行的结果是正确的,而在 leetcode 的服务器上结果却是错误的。而且检查了程序中,也并没有使用全局或者静态变量。 通过打印,仔细对比两种环境下的输出发现,原来是在代码有一条语句指针指向了数组外边的第一个地址。语...

2018-09-15 15:07:15

阅读数:49

评论数:0

j-link v9 修复记录

j-link v9 主控: stm32f205RC 现象 1、给 M0 下载固件的过程中经常出错,提示找不到M0。需要反复尝试很多次才可以下载。 2、在一次正常的拔线断电后,再也无法识别,灯也不亮了。 修复方法 1、准备另一个可以使用的 j-link。这里使用的就是这种只有四根...

2018-09-13 12:05:46

阅读数:46

评论数:0

MPEG Audio 简述

MPEG AUDIO 简介 MP3 是 MPEG Layer3 音频压缩技术的简写,这种技术可在音质极少损伤的情况下获取更好的压缩性能。MP3文件可以被压缩成不同的速率,文件压缩的越小,音质损伤越大。标准的压缩比例为10:1,一段3分钟的音频数据压缩后只需4MB大小。 MPEG 音频压缩算法由...

2018-08-12 16:16:48

阅读数:35

评论数:0

前导零计数

前导零计数 计算一个 32位 数头部 0 的个数。例如 1 前面有 31 个0, 0 则前面有 32 个0。 C 语言实现 int cntLeadingZeros(uint32_t i) { int ret = 0; uint32_t temp = ~i; whil...

2018-08-02 18:03:06

阅读数:95

评论数:0

fread 返回 0

fread 函数一直返回 0,检查过读取的数量不会超过文件大小,错误发生在打开文件时错误。 错误代码如下: FILE *in_file, *out_file; unsigned int open_files(const char *in_file_name, const char *out...

2018-07-25 21:14:05

阅读数:52

评论数:0

记一款游戏--《程序员升职记》

最近在玩一款编程类的游戏,叫做《程序员升职记》,steam 平台只需¥36。通过组合几条非常基本的指令,例如加减、自加、自减、比较、跳转,实现一些小功能,例如简单的数值绝对值输出、两数乘法、阶乘运算、反转字符串等。游戏的本质是一款支持 11 条指令,最多支持 24 字节内存的 8 位 cpu ...

2018-07-22 11:01:18

阅读数:170

评论数:0

PCM 转 WAV

PCM 数据无法直接通过播放器打开,因为少了 44 字节的文件头,这里面最主要的信息是描述该 PCM 的采样频率,通道数,以及位数。 双击 pcmToWav.exe,拖入待转换的 PCM 数据,输入通道数和采样频率,默认使用 16-bit 表示一个采样点。等待程序运行结束,就会生成一个同名的 ....

2018-06-07 19:43:14

阅读数:65

评论数:0

文件转换为C数组 fileToC

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

2018-05-18 13:25:27

阅读数:93

评论数:0

CSDN博客数据导出

CSDN2HEXO 源码地址 CSDN2HEXO CSDN2HEXO 是一款基于CSDN开放平台 的 csdn blog 内容下载器, 可以下载博客中的文章内容和图片,文章保存为 markdown 格式,图片可下载无水印图片,并根据文章标题生成文件夹存储相关数据。 用法 1、首先需要获得...

2018-04-28 14:46:23

阅读数:126

评论数:0

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

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

2018-04-18 17:49:48

阅读数:97

评论数:0

C语言 符号的不同意义

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

2018-03-27 22:53:22

阅读数:213

评论数:2

IAR 和 keil 使用外部 SDRAM 的区别

当芯片内部的 SRAM 不够用时,就需要在外部扩展 SDRAM,然后在写程序时将一些比较大的 buffer 定义在外部内存中。在进行正确的配置之后,对外部 SDRAM 的使用,和芯片内部的 SRAM 是一样的,可以直接对 SDRAM 的地址进行读写访问。 因此,最简单的方法就是,如下所示的代码,...

2018-03-26 19:34:15

阅读数:254

评论数:0

C语言 ringBuffer 实现

一、 ringBuffer 介绍 ringBuffer 称作环形缓冲,也有叫 circleBuffer 的。就是取内存中一块连续的区域用作环形缓冲区的数据存储区。这块连续的存储会被反复使用,向 ringBuffer 写入数据总是从写指针的位置开始,如写到实际存储区的末尾还没有写完,则将剩余的数据...

2018-03-22 20:30:13

阅读数:279

评论数:0

C语言 malloc 内存泄漏

错误代码如下: int Init_layer2_Decoder(void) { Stream = (struct mad_stream*)malloc(sizeof(struct mad_stream)); Frame = (struct mad_frame*)malloc(...

2018-03-18 20:33:29

阅读数:54

评论数:0

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

一、测试条件 硬件: STM32L432KC 主频: 80MHz 编译器: IAR 8.20.1 编译选项: High Speed no size constraints CRC 生成多项式: 0x782f 二、测试方法 软件提前生成CRC表,用于查询。分别使用软件CRC算法和硬...

2018-03-12 22:46:18

阅读数:805

评论数:0

下载 tumblr 标记为喜欢的内容

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

2018-03-03 16:52:05

阅读数:482

评论数:0

STM32 无法通过 %f 打印浮点数

一、问题 使用 IAR 开发 STM32,发现无法通过 printf 重定向到串口打印出浮点数。代码如下: 输出结果如下: 可见,浮点数部分无法正常显示。 二、解决方法 这是由于 IAR 默认选择的 printf 库不支持浮点数的的输出。可在设置选项中修改。如下:默认使用 sma...

2018-03-02 14:54:06

阅读数:1035

评论数:1

STM32L432 CoreMark跑分测试

测试环境: IAR for ARM 7.80.4 测试得分:277 官方给出的分数为:273.55 如下图:

2018-02-28 12:55:50

阅读数:125

评论数:0

STM32F469 CoreMark跑分测试

一、CoreMark 介绍 CoreMark 是一项测试处理器性能的基准测试。代码使用 C 语言写出,包含:列表,数学矩阵操作和状态及 CRC 等运算法则。目前 CoreMark 已迅速成为测量与比较处理器性能的业界基准测试。CoreMark 的得分越高,意味着性能更高。 二、代码移植 ...

2018-02-27 19:52:13

阅读数:239

评论数:0

掌控堆栈确保系统稳定 IAR技术手册翻译

翻译自 IAR 技术手册 堆和栈在嵌入式系统中是非常基础的概念。正确设置堆和栈的大小对于系统的稳定可靠非常重要。不正确设置时,系统可能会以某种非常奇怪的方式崩溃而造成灾难性的后果。 堆和栈的大小必须被程序员设置。通常情况下计算栈使用量都是非常困难的,但是在小型嵌入式系统中却比较容易,并且理解栈...

2018-01-06 16:23:57

阅读数:235

评论数:0

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