• 等级
  • 848169 访问
  • 118 原创
  • 4 转发
  • 6723 排名
  • 196 评论
  • 198 获赞

enum枚举类型

阅读下面的程序,写出输出内容。#include<stdio.h>enum{ ITEM_A=0, ITEM_B=0, ITEM_C};intmain(intargc,charconst*argv[]){ printf("%d\n",ITEM_C); return0;}

2019-04-14 15:19:52

修复 j-link "the connected j-link is defective" 警告

一、现象j-linkob提示“theconnectedj-linkisdefective”警告,每次下载都需要点击确定关闭,另外单步调试经常死机。二、解决方法参考这篇帖子。具体就是修改IAR安装路径下的JLinkARM.dll文件。路径为:D:\ProgramFiles(x86)\IARSystems\EmbeddedWorkbench7.5\arm\...

2018-12-20 17:35:24

IAR开发STM32堆栈设置

一、前言关于堆栈的定义在此就不赘述,详细内容可以看这篇博客。堆栈溢出会导致野指针,返回地址错误等问题,通常程序已经无法正常运行,进入HardFault异常中断。为了避免这种情况,一般会分配较大的空间用做栈,可是如果仅仅为了安全就分配大空间的栈势必导致内存浪费。本文介绍两种获取栈最大消耗的方法,以方便合理设置栈的大小。二、方法1、方法一栈指针SP指向的位置可以反应出当前栈的消耗量。...

2018-10-25 22:28:12

汇编文件从 keil 移植到 IAR

1、修改段和区域的写法系统段和区域在ADS下定义为AREA,在IAR下定义为RSEG,因此需要做如下更改。keil下的写法AREA|.text|,CODE,READONLY,ALIGN=2IAR下的写法RSEGCODE:CODE:NOROOT(2)2、修改RN伪指令在ADS中,可以使用语句nameRNRn来给寄存器Rn...

2018-10-19 10:38:19

ide 与 leetcode 运行结果不一样

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

2018-09-15 15:07:15

j-link v9 修复记录

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

2018-09-13 12:05:46

MPEG Audio 简述

MPEGAUDIO简介MP3是MPEGLayer3音频压缩技术的简写,这种技术可在音质极少损伤的情况下获取更好的压缩性能。MP3文件可以被压缩成不同的速率,文件压缩的越小,音质损伤越大。标准的压缩比例为10:1,一段3分钟的音频数据压缩后只需4MB大小。MPEG音频压缩算法由联合图像专家组开发,作为高质量数字音频数据压缩的国际标准。MPEG-1音频压缩算法基于两种机理来减少...

2018-08-12 16:16:48

前导零计数

前导零计数计算一个32位数头部0的个数。例如1前面有31个0,0则前面有32个0。C语言实现intcntLeadingZeros(uint32_ti){intret=0;uint32_ttemp=~i;while(temp&0x80000000){temp<&lt...

2018-08-02 18:03:06

fread 返回 0

fread函数一直返回0,检查过读取的数量不会超过文件大小,错误发生在打开文件时错误。错误代码如下:FILE*in_file,*out_file;unsignedintopen_files(constchar*in_file_name,constchar*out_file_name){if(in_file=fopen(in_file_name,...

2018-07-25 21:14:05

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

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

2018-07-22 11:01:18

PCM 转 WAV

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

2018-06-07 19:43:14

文件转换为C数组 fileToC

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

2018-05-18 13:25:27

CSDN博客数据导出

CSDN2HEXO源码地址CSDN2HEXOCSDN2HEXO是一款基于CSDN开放平台的csdnblog内容下载器,可以下载博客中的文章内容和图片,文章保存为markdown格式,图片可下载无水印图片,并根据文章标题生成文件夹存储相关数据。用法1、首先需要获得开发者认证,并创建应用,获取到App_key和App_secret以通过OAuth2认证,...

2018-04-28 14:46:23

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

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

2018-04-18 17:49:48

C语言 符号的不同意义

C语言的许多符号在不同的上下文环境里有不同的意义,相当于被“重载”了。如下展示了一些符号的不同意义。static在函数内部,表示该变量的值在各个调用间一直保持延续性。类似与全局变量,区别在于作用域不同。在函数外部,表示该函数或者变量只对本文件可见。extern用于函数定义,表示全局可见(属于冗余,因为函数名在默认情况下具有外部的链接属性,如果函数没有在调用它的转换单元中定义,编...

2018-03-27 22:53:22

IAR 和 keil 使用外部 SDRAM 的区别

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

2018-03-26 19:34:15

C语言 ringBuffer 实现

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

2018-03-22 20:30:13

C语言 malloc 内存泄漏

错误代码如下:intInit_layer2_Decoder(void){Stream=(structmad_stream*)malloc(sizeof(structmad_stream));Frame=(structmad_frame*)malloc(sizeof(structmad_frame));Synth=(structmad_...

2018-03-18 20:33:29

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

一、测试条件硬件:STM32L432KC主频:80MHz编译器:IAR8.20.1编译选项:HighSpeednosizeconstraintsCRC生成多项式:0x782f二、测试方法软件提前生成CRC表,用于查询。分别使用软件CRC算法和硬件CRC外设对一个缓存进行计算,目的是从该缓存中找到同步头。同步头共11字节,前两个字节为后九个字节的...

2018-03-12 22:46:18

下载 tumblr 标记为喜欢的内容

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

2018-03-03 16:52:05

cyang812

https://cyang.tech
关注
  • 嵌入式/软件开发
  • 中国 广东省 深圳市
奖章
  • 专栏达人
  • 持之以恒