- 博客(78)
- 资源 (18)
- 收藏
- 关注
原创 Ubuntu简单驱动开发
编写Makefile文件,主要分隔符使用tab而不是空格。uname- 查看当前ubutnu系统使用的编译工具。完整的信息可以输入demesg查看。编写hello.c文件。
2022-11-14 15:21:44 748
原创 线性表结构
1 线性表存储结构区分线性表存储结构可细分为顺序存储结构和链式存储结构。1.1 常用术语数据结构中,一组数据中的每个个体被称为“数据元素”(简称“元素”)。另外,对于具有“一对一”逻辑关系的数据,我们一直在用“某一元素的左侧(前边)或右侧(后边)”这样不专业的词,其实线性表中有更准确的术语:某一元素的左侧相邻元素称为“直接前驱”,位于此元素左侧的所有元素都统称为“前驱元素”;某一元素的右侧相邻元素称为“直接后继”,位于此元素右侧的所有元素都统称为“后继元素”;2 线性表的顺序存储线性表的顺序
2020-12-16 15:14:55 172
转载 C语言字符串操作总结大全(超详细) (转)
1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen§ 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p, c) 在字符串中反向查找strstr(p, p1) 查找字符串
2020-12-10 10:31:27 254
原创 DMX512协议
一、简介:MX512协议最先是由USITT(美国剧院技术协会)发展成为从控制台用标准数字接口控制调光器的方式。这个接口基于RS485 硬件接口,传输速率为250Kbps。在舞台灯光,景观灯控制领域得到广泛应用。协议全称为USITT DMX512-A,下载链接在底部。二、数据格式:传输速率为250kbps,其对应的每个比特位的持续时间为4us,每个数据帧的时长为44us,break信号大于88us,并且协议也规定每个DMX512数据包一次最大支持512帧数据的传输(不包括起始帧),即可以控制512 个通
2020-09-19 17:20:37 4807
原创 sscanf用法概述
在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。/******************************************************* Name : sscanf.c ** Author : gzshun** Version : 1.0** Date : 2011-12** Desc
2020-09-07 17:33:51 250
原创 C语言编程规范总结
1 编写目的一致且良好的代码规范,是软件项目开发高效和高质量的一个基本条件,它能够提升代码的可读性和健壮性,更进一步就是提升软件开发的效率和质量。– 能够节省大量的阅读代码的时间,据统计,软件开发过程中,40%-70%的工作量是在首次编码完成后投入的,这些工作中就需要反复地阅读代码。– 能够节省团队各成员间的沟通成本,沟通成本中包含了因为代码风格差而需要额外增加说...
2020-01-17 11:35:47 502
原创 SD协议及其实现
硬件规格1、存储容量标准容量SD 卡:最高达到2GB大容量SD存储卡(SDHC): 大于2GB、不大于32GB超大容量SD存储卡(SDXC):大于32GB、不大于2TB2、电压范围高电压SD 卡-工作电压范围:2.7 -3.6V双电压SD 卡-工作电压范围:低电范围(T.B.D) 和2.7-3.6V3、SD 卡形状标准尺寸的SD 卡Mini SD 卡Mi
2020-01-17 11:34:38 1846
原创 数据结构-链表
链表单向链表有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到了穿线连结的作用。 相比较普通的线性结构,链表结构的优势: (1)单个节点创建非常方便,普通的线性内存通常在创建的时候就需要设定数据的大小 (2)节
2020-01-17 11:34:10 193
原创 ubuntu下各种软件安装方法
ubuntu软件:qq微信科学上网svn rabbitvcseclipseUnderstandfcitx输入法NOTPAD++
2019-09-18 09:53:42 574
原创 LINUX 操作GPIO口
两种方法1、写驱动的方式缺2、通过linux提供的用户空间终端控制通过在用户空间上来操作GPIO,控制入口在:/sys/class/gpio/。首先确认内核里是否已选择上gpiolib的sysfs接口功能(默认是已选择上的)make kernel_menuconfig ->Device Drivers->GPIO Support ->/sys/cl...
2019-03-21 18:25:57 1987 1
原创 c调用libcurl库发送GET 和 POST请求
libcrul请求的基本套路流程1、调用curl_global_init()初始化libcurl2、调用curl_easy_init()函数得到 easy interface型指针3、调用curl_easy_setopt()设置传输选项4、根据curl_easy_setopt()设置的传输选项,实现回调函数以完成用户特定任务5、调用curl_easy_perform()函数完成传输任务...
2019-01-25 12:18:52 10619 1
转载 ubuntu配置静态IP、DNS地址
虚拟机需要使用桥接上网1. ifconfig(查看网卡信息)2. vi /etc/network/interfaces (打开并编辑配置文件)配置说明:auto loiface lo inet loopbackauto ens33(ens33为以太网卡,根据实际名称填写)iface ens33 inet staticaddress 192.168.1.8(IP地址,要和物...
2019-01-21 17:24:22 9171 1
原创 Ubuntu 工具
ubuntu安装samba服务器介绍: samba是linux系统上一种文件共享协议,可以实现在windows系统下访问linux系统上的共享资源。步骤1:切换到root权限命令: sudo -i步骤2:安装samba命令: apt-get install samba samba-common -->回车–>y–>回车–>安装完成步骤3: 新建共享目录并设置权.
2019-01-21 15:26:30 434
原创 SPI协议
概述Serial Peripheral interface,SPI,高速全双工同步通信主从设备,一个主设备以及多个从设备数据交换协议,同时完成数据的输入和输出。无流控无应答机制无速率规定在sck的控制下,两个双向移位寄存器进行数据交换。硬件4根信号线SDO – 主设备数据输出,从设备数据输入SDI – 主设备数据输入,从设备数据...
2019-01-08 17:55:46 1183 1
原创 Node.js语法
Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。因此语法跟JavaScript一样1语法已;号结尾{}为语句块//和/**/为注释大小写区分2数据类型5种数据类型:string、number、boolean、object、function3种对象类型:Oject、Data、Array2种特殊类型:null、undefined类型...
2019-01-02 09:22:01 566
原创 C语言实现oop特性
封装在C语言中,可以用结构+函数指针来模拟类的实现,而用这种结构定义的变量就是对象。 封装的主要含义是隐藏内部的行为和信息,使用者只用看到对外提供的接口和公开的信息。有两种方法实现封装 面向对象的最基本的出发点是“将数据以及处理数据的方法封装在一起”,至于继承、派生、多态之类的则是后面扩展的东西。在C语言中,如果用结构体来保存数据,并将处理这些数据的函数与结构体的定义封装在同一个.c文件中
2018-10-26 12:27:17 241
原创 数据结构
数据结构概念数据结构:数据相互之间存在一种或多种关系结构的元素集合。数据:是客观事物的数值、字符以及能输入机器且能被处理的各种符号的集合数据类型:一组性质相同的值的集合以及定义在这个值的集合上的一些操作的总称数据结构3个方面: (1)逻辑结构:数据元素之间的关系 (2)物理结构:数据在计算机内存中的存储方法 (3)算法:作用于数据结构上的运算逻辑结构(1)集合结构:仅属于同一...
2018-10-25 17:19:01 321 1
原创 Ubuntu16.04配置ADB
安装命令: apt-get install android-tools-adblsusb查看usb设备Bus 001 Device 003: ID 18d1:0001 Google Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 003: ID 0e0f:0002 VMwa...
2018-10-08 15:28:48 1137
原创 TS码流分析
概述ES流(Elementary Stream) 基本码流,不分段的音频、视频或其他信息的连续码流。 PES流 把基本流ES分割成段,并加上相应头文件打包成形的打包基本码流。 PS流(Program Stream) 节目流,将具有共同时间基准的一个或多个PES组合(复合)而成的单一数据流(用于播放或编辑系统,如m2p)。 TS流(Transport Stream) 传输流,将具有共同时
2018-08-01 15:33:12 3595 2
原创 局域网socket广播数据包
概述在IPV4中报文的传输分为三种方式:单播,广播,多播广播本地广播: 地址就是255.255.255.255,它不经路由转发,发送本地网络下的所有主机,只能在局域网内转发,主要是不用知道目标主机的掩码与网络地址,本地转发同本地网络下的所有主机。直接广播: 计算方法通过主机的掩码与网络地址计算出来。掩码最后为0的位为主机位。掩码与网络地址相与,然后主机位全变为1,就是直接广播地...
2018-07-30 09:22:31 4637 1
原创 ubuntu命令总结
压缩命令实例01-.tar格式解包:[*******]tarxvfFileName.tar打包:[*******]tarxvfFileName.tar打包:[*******] tar xvf FileName.tar 打包:[*******] tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******...
2018-06-12 15:07:07 413 2
原创 结构体初始化
结构体定义typedef struct _oper { int a; int b; } oper;//定义结构体 oper a1;//定义变量结构体定义并不是定义一个变量,而是定义了一种数据类型,这种类型是你定义的,它可以和语言本身所自有的简单数据类型一样使用(如 int )。 结构体本身并不会被作为数据而开辟内存,真正作为数据而在内存中存储的是这种结构体所定义的变量。
2017-11-22 18:28:47 423 1
原创 HTTP协议
简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。URLUniformResourceLocatorhttp://www.aspxfans.com:8080/new
2017-09-05 14:33:12 412
原创 宏定义
在预处理里面先进行了展开 C语言宏定义只是简单的替换和展开格式: #define 宏名(参数表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(
2017-08-07 10:37:44 346
原创 DVB系统概述
1、DVB-S,卫星转发器上,带宽为26MHZ—72MHZ; 2、DVB-T,地面广播; 3、DVB-C,有线电视。DVB-S DVBS系统概述图卫星信号卫星度数每个同步卫星都有自己的经纬度,因为是同步卫星,纬度就是赤道 比如亚洲3星,就是105.5E频段知识卫星信号频段有两种:C波段和KU波段 Ku频段下行从10.7到12.75GHz,上行从12.75到18.1GHz(百度百科不确定)
2017-07-26 11:27:16 4569
原创 C语言的发展及其版本
C语言发展历史C语言早期发展1969-1973年在美国电话电报公司(AT&T)贝尔实验室开始了C语言的最初研发。根据C语言的发明者丹尼斯·里奇 (Dennis Ritchie) 说,C 语言最重要的研发时期是在1972年。说明:丹尼斯·里奇(Dennis Ritchie),C语言之父,UNIX之父。1978年与布莱恩·科尔尼干(Brian Kernighan)一起出版了名著《C程序设计语言(The
2017-06-09 17:08:31 598
原创 计算机组成原理(唐朔飞)
计算机组成原理(唐朔飞)存储器存储器分类存储介质分类半导体存储器磁表面存储器磁芯存储器(淘汰)存储方式存储结构存储器容量地址总线:CPU能访问的地址宽度,32地址线表示能访问2的32次方个存储单元地址。数据总线:CPU字长,CPU一次能访问(读写)的数据长度。64位字长,表示64条数据总线,CPU一次最多能从存储器读取64bit数据。存储单元:按“字”寻址,就说明是存储单元大小为字长的
2017-06-08 16:09:21 17155 2
原创 蓝牙基带协议(baseband specification)
一、蓝牙基带协议(baseband specification)概述1、组网方式微微网(piconet)点对点,点对多。一个主设备连接255个从设备,最多7个从设备处于active状态。散射网(scatternet)一个微微网主设备可以成为另一个微微网的从设备。每个微微网只有一个主机,从机可以使用TDM时分复用作为另一个微微网的从设备,一个微微网也可以作为另一个微微网的从。微微网间不存在频率同步,每
2017-05-22 14:35:15 5418 1
原创 蓝牙射频协议概述
蓝牙射频协议 Radio1、工作频率蓝牙工作在2.4GHz ISM频段上,蓝牙采用跳频扩谱技术主动的避免工作频段受干扰(微波炉的工作频率也是2.4GHz)。 地理位置 ISM频段范围 射频信道频率 中国、美国、欧洲 2400.0~2483.5MHz F=(2402+k)MHz,k在0、1、……78中随机取值 法国 2446.5~2483.5MHz F=(2454+k)
2017-04-21 11:10:45 1667
原创 ucosIII任务管理(未完持续)
概述要点单CPU 中,在任何时刻只能是一个任务被执行C/OS-III 支持多任务且对任务数量没有限制,任务数仅取决于处理器内存的大小(RAM)。允许任务具有相同的优先级任务的组成任务堆栈:上下文切换用于保存任务当前环境。也就是内部寄存器的值。任务控制块:保存任务的各个属性任务函数:完成指定功能系统任务:空闲任务:UCOSIII创建的第一个任务,UCOSIII必须创建的任务,此任务有
2017-04-08 16:40:35 910
原创 xxx
USB音频 USB音频使用了同步传输、中断传输和控制传输。所有音频数据通过同步传输来传输;中断传输用于转发关于音频时钟可用性的信息;控制传输用于设置音量、请求采样率等。USB音频系统的数据需求取决于通道数、代表每个样本的位数,以及采样率。 假设:44.1K采样率,双声道,16bit,那么在帧长1ms的时候,一次传输数据为180Byte,然后9次传输176Byte循环未完持续
2017-03-30 15:32:49 1256
原创 uCOS中全局变量的使用方法
在C语言编程中经常会遇到全局变量。全局变量的定义一般采用下面的方式.C文件中定义 int g_a;.h文件中声明 extern int g_a;使用上面这种方法,当需要更改全局变量时候就需要更改两个地方。uC/OS-II使用了另一种巧妙的全局变量定义的方法,使得声明和定义都在一个地方,提高代码的可读性和维护性。//在ucos_ii.h#ifdef OS_GLOBALS#define
2017-03-29 16:46:13 3013
source insight TabSiPlus 风格
2016-09-25
STM32F4DISCOVERY
2014-02-15
STM32F4XX,cortex-M4系列,开发手册
2014-01-31
基于51单片机计算器程序
2012-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人