sun shang chao
码龄10年
关注
提问 私信
  • 博客:588,485
    社区:48
    588,533
    总访问量
  • 215
    原创
  • 1,237,581
    排名
  • 119
    粉丝
  • 1
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:辽宁省
  • 加入CSDN时间: 2014-08-18
博客简介:

Sun19910114的专栏

查看详细资料
个人成就
  • 获得171次点赞
  • 内容获得29次评论
  • 获得553次收藏
  • 代码片获得100次分享
创作历程
  • 3篇
    2017年
  • 20篇
    2016年
  • 28篇
    2015年
  • 247篇
    2014年
成就勋章
TA的专栏
  • 数据结构
    28篇
  • c/c++
    115篇
  • 计算机网络
    2篇
  • 硬件大类
    56篇
  • 操作系统
    20篇
  • 嵌入式软件
    35篇
  • 通信知识
    3篇
  • 其他小知识
    17篇
  • Linux
    8篇
  • Matlab
    2篇
  • FPGA
    11篇
  • RTOS
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

multi threading applications in Win32_EN

发布资源 2018.07.31 ·
pdf

FPGA时序约束2

上一篇已经简单的介绍了时序,本文将会以一个ADC实例简单粗暴的进行分析;现有一块ADC连接到FPGA上,需要在FPGA上实现高速数据的读取,那么第一步自然就是完成可靠的硬件连线,其中需要注意的是:1. 注意信号的完整性,尽可能的避免边沿退化;这两区分两个概念:    i. 高速信号,指的是信号翻转,由高电平到低电平或者反之所耗得时间非常小;可能一个1MHz的TT
原创
发布博客 2017.07.13 ·
1045 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

FPGA设计-时序约束1

最近都在做ARM的方面学习工作,感觉有必要记录下来之前FPGA的工作,好记性也不如烂笔头;说起FPGA,断断续续的也用过4,5年了,中间接触过DSP,就是因为没有记录文档资料,目前几乎快忘光了;FPGA方面的心得,将会由以下几个方面进行总结:1. FPGA时序约束以及高速ADC约束实例2. TDC进位延时链设计以及研究3. TDC的精度以及自动校正算法的实现 
转载
发布博客 2017.07.13 ·
1054 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

ping-pong操作

下图给出了pingpang的基本原理框图,从图上可以看出使用pingpang的主要作用 就是使用多个低速的数据预处理模块处理高速的输入数据流。这样做可以提高系统的数据吞吐量(如果不使用乒乓的话数据预处理模块会成为设计中限制系统数据吞 吐量的瓶颈),同时增加了数据缓冲延迟。另一个解释:所谓ping-pong buffer,也就是定义两个buffer,当
原创
发布博客 2017.03.20 ·
4222 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

指针

说在前面的话不得不说,看了太多的人在各种地方讨论指针……越发看下去,越发觉得简单的事情被搞那么复杂,真是够了,求求你们,放开那个变量,让我来!以下讨论均以ARM环境下使用C语言进行嵌入式软件开发为背景。感谢网友的批评指正。1、从变量的三要素开始谈起  为了把复杂的事情说简单,我们抛开指针先从变量谈起。(好吧,不知道这个笑话是不是够冷)一个变量(V
原创
发布博客 2016.12.28 ·
826 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

时间触发调度器

/********************************************************************************//******************************数据结构******************************************/typedef tWord unsigned int;typedef tB
原创
发布博客 2016.12.23 ·
1681 阅读 ·
1 点赞 ·
1 评论 ·
13 收藏

题目:多功能按键设计。利用一个I/O口,接一个按键,实现3功能操作:单击 + 双击 + 长按。

题目:多功能按键设计。利用一个I/O口,接一个按键,实现3功能操作:单击 + 双击 + 长按。 ============================================================================ 用户基本操作定义: 1。短按操作:按键按下,按下时间<1s,属于一次短按操作 2。长按操作:按键按下,按下时间>1s,属于一
原创
发布博客 2016.12.22 ·
4133 阅读 ·
8 点赞 ·
3 评论 ·
47 收藏

马潮按键扫描状态机思想10ms执行一次

#define key_input PIND.7 // 按键输入口#define key_state_0 0#define key_state_1 1#define key_state_2 2char read_key(void){ st
原创
发布博客 2016.12.22 ·
3149 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

基于状态机思想的按键扫描程序支持单按,连续按,长按模式。

typedef enum { ButtonsStateUp = 0, ButtonsStateDownJitter , ButtonsStateDown , ButtonsStateUpJitter} EnumButtonsState;typedef unsigned char uint8;typedef unsigned lon
原创
发布博客 2016.12.13 ·
1779 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

YModem协议

YModem协议:         YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议。         下面先看下YModem协议传输的完整的握手过程:先看下图SENDER:发送方。RECEIVER:接收方。第一步先由接收方,发送一个字符'C'发送方收到'C'后,发送第
原创
发布博客 2016.11.03 ·
794 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

swim swd jtag

LED状态说明闪烁红色:ST-LINK/V2连接到计算机后,第一次USB枚举过程红色:ST-LINK/V2与计算机已建立连接闪烁绿色/红色:目标板和计算机在进行数据交换绿色:通讯完成橙色(红色+绿色):通讯失败---------------------------------------------------------------------------------
原创
发布博客 2016.11.03 ·
2218 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

line_fit

#include #include #include #define POINTS_NUM 6typedef struct { double x; double y;}typePoints;typePoints points[POINTS_NUM] = { { 0 , 0.002 }, { 0.1 , 0.082 }, { 0.2 ,
原创
发布博客 2016.11.01 ·
833 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DMA理解

单片机的DMA使用心得本人也是最近才深入了解一下DMA,前期使用单片机的时候基本上没有用到。一是不需要用到,二是心理上觉得DMA比较困难,所以不使用。在学习的过程中有一些心得体会,与大家分享一下。首先介绍一下啥子是DMA,说的通俗易懂一点就是一个搬运工。既然是搬运工,就有几个需要注意的问题。1.        从哪里搬运到哪里   一般是特殊寄存器到RAM(我们自己定义的数组里面),或
原创
发布博客 2016.11.01 ·
5553 阅读 ·
11 点赞 ·
1 评论 ·
23 收藏

ping-pong操作

1 什么是pingpong?   pingpong是一种数据缓存的手段,通过pingpong操作可以提高数据传输的效率。2 什么时候需要pingpong?在两个模块间交换数据时,上一级处理的结果不能马上被下一级所处理完成,这样上一级必须等待下一级处理完成才可以送新的数据,这样就会对性能产生很大的损失。引入pingpong后我们可以不去等待下一级处理结束,而是将结果保
原创
发布博客 2016.10.31 ·
22678 阅读 ·
4 点赞 ·
0 评论 ·
27 收藏

// 递推平均滤波法(又称滑动平均滤波法)

// 递推平均滤波法(又称滑动平均滤波法)#define FILTER_N 12int filter_buf[FILTER_N + 1];int Filter() {int i;int filter_sum = 0;filter_buf[FILTER_N] = Get_AD(); //AD转换的值赋给数组最后一个值for(i = 0; i {filter_b
原创
发布博客 2016.10.20 ·
3035 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

ccitt crc16

CCITT CRC-16计算原理与实现 (2010-04-01 13:18:52)转载▼标签: 杂谈 CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。实际上,除数据通信外,CRC在其它很多领域也是大有用武之地的。例如我们读软盘上的文件,以及解压一个ZIP文件时
原创
发布博客 2016.07.18 ·
1498 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

C++运算符优先级

C++ 运算符优先级列表:http://www.cppblog.com/aqazero/archive/2012/11/10/8284.html
原创
发布博客 2016.06.05 ·
454 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

ccs5命令行编译

Code Composer Studio提供了几个命令行工具,用户可以使用这些工具创建工程,编译工程,导入工程文件到本地工作空间。使用这些工具,用户可以在不启动CCS图形界面的情况下对工程进行操作,简化工程文件的版本维护,方便自动化测试等。创建工程的格式:eclipsec –noSplash -data -application com.ti.ccstudio.apps.projec
原创
发布博客 2016.03.09 ·
6995 阅读 ·
3 点赞 ·
1 评论 ·
22 收藏

dsp 定标

一 DSP定点算数运算1 数的定标在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。在字长固定的前提下,所需要达到的精度越高,那么所能表示的浮点数的范围就会越小。如无特别说明,本书均以16位字长为例。DSP芯片的数以2的补码形式表示。每
原创
发布博客 2016.03.07 ·
5090 阅读 ·
6 点赞 ·
0 评论 ·
26 收藏

uc/os ii 处理全局变量的方法

以下是如何定义全局变量。众所周知,全局变量应该是得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。因此,必须在 .C 和 .H文件中定义。这种重复的定义很容易导致错误。以下讨论的方法只需用在头文件中定义一次。虽然有点不易懂,但用户一旦掌握,使用起来却很灵活。表1.2中的定义出现在定义所有全局变量的.H头文件中。 程序清单  定义全局宏
原创
发布博客 2016.02.16 ·
864 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多