Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

基于uCOS-II的UDP网络编程

基于uCOS-II的UDP网络编程

一. 基于UCOS-II操作系统的UDP网络编程 1.UDP网络编程的组成部分? 启动任务:负责UDP的初始化,创建通信工具和轮训检测是否有数据报到来。? UDP数据处理任务:负责UDP报文的处理? UDP服务例程:实现数据的收发。二. 启动任务1. 启动任务的功能l 负责初始化UDP。l 创建UDP数据处理处理任务和UDP服务例程。l 轮训检测是否有数据到来。2.UDP初始化由那及部分组成1>初始化网络端口地址通过调用SetNetPort()函数来...
ARM之汇编学习---如何编写ARM汇编程序

ARM之汇编学习---如何编写ARM汇编程序

一.前言1. 看一个程序: AREA TigerJohn,CODE,READONLY;声明代码段 CODE32 ;声明为32位ARM指令 ENTRY ;声明程序入口START MOV R0 ,#0 MOV R1 ,#1 ADD R1, R1,R0 B START END2. 在ARM汇编程序中用“;”号进行注释。二.汇编语言程序格式一个完整的ARM汇编由两部分组成:声明,实际代码段两部分组成。1. 声明:在一个程序之前先要进行声明1>都要声明什么l...
基于ARM LPC2210的以太网RTL8019AS驱动系统设计

基于ARM LPC2210的以太网RTL8019AS驱动系统设计

一. 系统硬件概述 1.1.ARM LPC2210芯片简介LPC2210是Philips公司推出的微处理器,带有16 KBRAM,76个通用I/O口,12个独立外部中断引脚,集成有8通道的10位A/D,能够基于芯片设计复杂的系统。1.2.RTL8019AS芯片简介? RTL8019AS是台湾Realtek半导体公司生产的以太网控制器,其性能包括:支持EthernetII和IEEE802.3标准;支持8/16位数据总线;内置16 KWord的SRAM;全双工...
Linux驱动开发所要做的那些事情

Linux驱动开发所要做的那些事情

一.minicom的安装(1)打开终端,输入:sudo apt-get install minicom(2)然后进行配置,输入sudo minicom -s(3)进入Serial port setup,需要修改两处:1>A中 /dev/tty8改为/dev/ttyS0注意:如果为笔记本没有串口,可以用usb转串口工具,此时要改为/dev/ttyUSB0(也许你的不一样,可以在/dev下查看)2>波特率设备为115200,硬件流和控制流端口设为N...
C语言中的带参数宏

C语言中的带参数宏

一.带参数的宏1.带参数的宏定义不是简单的字符串替换,还要进行参数替换定义格式为:#define 宏名(参数表) 字符串1>字符串包含括号中所有指定的参数eg: #define S(a,b) ((a)*(b)) area=S(3,2)2>编译系统处理带参数的宏名时,按程序行中指定的字符串,括号内的内容,从左到右进行处理,若遇到形参则以实参代替,非形参字符原样保留,就形成了替换后的内容,这期间没有任何计算。《在宏定义中的参数称为形参,在宏调用中的...
嵌入式C语言编程小知识总结

嵌入式C语言编程小知识总结

1. 流水线被指令填满时才能发挥最大效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。2. 在LPC2200系列中:可以通过过下面的程序延迟10毫秒:for(i=0;i<200;i++) { for(j=0;j<200;j++); }3. 同过下面语句将一个16位的变量放在两个...
C语言中随机函数应用

C语言中随机函数应用

1前言:有些程序每次执行时不应该产生相同的结果,如游戏和模拟,此时随机数就非常有用。下面这两个函数合在一起使用能够产生伪随机数(pseudo-random number):通过计算产生的随机数,可能有重复出现,所以并不是真正的随机数。int rand(void);void srand(unsigned int seed);1>rand返回一个范围在0和RAND_MAX(至少为32767)之间的伪随机数。当它重复调用时,函数返回这个范围内其他数。为了得...
Linux下静态库生成和使用

Linux下静态库生成和使用

Linux下静态库生成和使用一.静态库概念1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档(archive file)存储。2.标准系统库可在目录/usr/lib与/lib中找到。比如,在类Unix系统中C语言的数序库一般存储为文件/usr/lib/libm.a。该库中函数的原型声明在头文件/usr/include/math.h中。3.C标准库本身存储为/usr/lib/libc.a,它包...
Linux之gcc的一些常见用法

Linux之gcc的一些常见用法

1.gcc编译器对程序的编译,分为四个阶段:1>预编译(pre-processing):在预处理阶段,输入的是C语言的源文件,通常为*.c。它们一般带有*.h之类的头文件。这个阶段主要处理源文件中的#ifdef,#include,#define预处理命令。该阶段会生成一个中间文件*.i文件。这个阶段使用命令: gcc –E tiger.c –o tiger.i它通过对源文件tiger.c使用-E选项来生成中间文件tiger.i2>编译和优化(c...
Linux下动态库生成和使用

Linux下动态库生成和使用

Linux下动态库生成和使用一.动态库的基本概念1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程序加载时形成。2.动态链接库的名称有别名(soname), 真名(realname)和链接名(linker name)。别名由一个前缀lib,然后是库的名字,再...
Linux之#pragma的用法

Linux之#pragma的用法

预编译指令#pragma的用法最近在看开源项目中的代码时,发现许多地方都用到了#pragma的程序。因此,就问了下谷歌老师,总结了下#pragma预编译指令的常用用法,现在和大家分享下。一.#pragma最常用的方法1. #progma pack(n)1>功能:使用#progma pack预编译指令可以改变编译器的默认值(不是绝对的,有些编译器只能是固定的数据对齐方式)。2>说明大多数情况下,我们写程序时候并不考虑对齐的问题,因为编译器会替我们...
Linux中用C语言写系统日志

Linux中用C语言写系统日志

我门在做一些大型项目时候,在编写程序中时会考虑到,如果出现一些异常的时候是直接抛出异常呢,还是将异常写入到日志文件中,提供给系统管理员来查看。以下就针对这两种情况分别介绍在Linux中如何将异常写入日志或者是直接抛出异常。一.抛出异常在C语言中抛出异常,是用的最多,也是最简单的。因为我们先来talk下它的使用方法。1.使用exit()函数来实现抛出异常1>头文件:#include<stdlib.h>2>当在程序中碰到异常情况时,可以...
C语言复习之结构体基础知识

C语言复习之结构体基础知识

一.基础知识1.聚合数据类型(aggregate data type)能够同时存储超过一个的单独数据。C提供了两种类型的聚合数据类型,数组和结构。(1)数组是相同类型的元素的集合,它的每个元素是通过下标引用或指针间接访问来选择的。(2)结构也是一些值的集合,这些值称为它的成员(member),但一个结构的各个成员可能具有不同的类型。2.数组元素可以通过下标访问,这只是因为数组的元素长度相同。3.由于一个结构的成员可能长度不同,所以不能使用小标来访问它们。相...
<< 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 >>