
网络编程
LouisGou
我很懒,什么都没有写
展开
-
网络编程,TCP/IP协议,LWIP的移植及开发
LWIP:LWIP(Light Weight)是小型开源的TCP/IP协议栈,重点是在保持TCP协议主要功能的基础上减少对RAM的占用,只需要十几KB的RAM和40K左右的ROM就可以运行,适合在低端的嵌入式系统中使用。LWIP提供三种API:1)RAM API:将协议栈、应用程序放在同一个进程中,优点是发送和接收数据是不会再产生进行切换;2)LWIP API:接收和处理在同一个线程中;3)BS...原创 2018-03-11 13:17:43 · 848 阅读 · 0 评论 -
static全局变量与普通全局变量的区别?static局部变量与普通局部变量的区别?static全局函数与普通全局函数的区别?
1.static全局变量只初使化一次,防止在其他文件单元中被引用;2.static局部变量只被初始化一次,下一次依据上一次结果值;3.static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝C语言中讲讲static变量和static函数有什么作用static关键字有两种意思,你看上下文来判断1,表示变量是静态存储变量表示变量存放在静态存储区.2,表示...转载 2018-04-12 09:05:56 · 617 阅读 · 0 评论 -
Linux进程通讯的几种方式
进程的概念进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。进程通信的概念进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内核及其它进程之间的互相通信来协调它们的行为。进程通信的应用场景 数据传输:一个进程需...转载 2018-03-23 18:56:28 · 653 阅读 · 0 评论 -
指针
#include <stdio.h>int main(){ int a[] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; int *p = a + 5, *q = NULL; *q = *( p + 5 ); printf("%d %d", *p, *q);}A. 程序运行报错B. 6 6C. 6 11D...原创 2018-03-17 20:37:31 · 414 阅读 · 0 评论 -
union 分析
#include <stdio.h>union st{ int a; char b;};int main(){ union st s; char *p = (char*)&s; s.a = 0x3132; s.b = 0x33; printf("%c", *p);}A.1B.2C.3D.不确定...原创 2018-03-17 16:32:09 · 669 阅读 · 0 评论 -
TCP和UDP的区别和优缺点
https://blog.youkuaiyun.com/xiaobangkuaipao/article/details/76793702转载 2019-03-04 10:52:18 · 415 阅读 · 0 评论 -
RS232 与 RS485的区别
RS232RS485接口物理结构DB-25或DB-9插头座,传输线采用屏蔽双绞线无具体形状,根据实际情况而定电器特性传输电平信号,信号“1” -3~-5v,信号“0” +3~+5v抗干扰能力差传输差分信号,信号“1” +2~+6v,信号“0” -2~-6v抗干扰能力强通讯距离标准=<15m,实际~=25m标准=<1200m,实际~=3000m多点通讯只支持1个收发器,不支持多点连接支...原创 2018-03-20 22:55:23 · 401 阅读 · 0 评论 -
uCOS-II 上电启动流程
上电启动,一般分为两个阶段第一阶段(主要是CPU内核的初始化,运行固化的启动代码)1、初始化堆栈2、初始化、规划中断向量表,跳转到Reset_Handler中,执行复位后的中断3、在Reset_Handler中,调用C函数SystemInit来进行系统初始化4、调用C函数__main 将会跳转到主程序main函数中第二阶段(外设模块的初始化,并完成启动操作系统调度)1、初始化心跳时钟2、初始化中断...原创 2018-03-20 22:31:09 · 681 阅读 · 0 评论 -
FATFS文件系统
FATFS 可剪裁、代码量少、移植简单、效率高、全C语言编写原创 2018-03-20 21:59:05 · 930 阅读 · 0 评论 -
C/C++编程,面向对象编程思想
面向对象:面向对象是一种思想,是相对面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装到对象当中,由对象来实现具体的细节。该思想将数据作为第一位,而方法或算法作为第二位,是对数据的一种优化,方便了操作,简化了过程。具有三大特征:封装、继承、多态。封装:隐藏了对象的属性和实现细节,只对外公开公共的访问方式,这样隔离了具体的变化,便于使用,提高了复用性和安全性。继承:两种事物间存在了一...原创 2018-03-11 13:36:37 · 715 阅读 · 0 评论 -
基本算法
冒泡排序:for(int i = 0; i < (length - 1); i++){ for(int j = 0; j < (length -1 -i); j++) { if(score[j] < score[j+1]) { temp = score[j]; score[j] = ...原创 2018-03-11 14:41:47 · 230 阅读 · 0 评论 -
uCOS-II 移植及遇到的问题
一、uCOS 移植主要有三步:1. 修改文件 os_cpu_c.cOSTasktkinit()函数是针对CPU压栈的函数,需要模仿CPU初始化后的寄存器状况。2. 修改文件os_cpu.h3. 修改文件os_cpu_a.asm二、uCOS移植中遇到的问题1. 任务不能进行有效切换原因:以前任务只要Task能够达到功能的死循环就可以了,所以每个任务都是while(1)...原创 2018-03-18 14:22:31 · 1387 阅读 · 0 评论 -
uCOS 问题
一、什么是任务?二、任务状态原创 2018-03-18 15:30:59 · 493 阅读 · 0 评论 -
SPI 及遇到的问题
一、SPI 结构是一种高速的,全双工,同步的通信总线主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间主模式:主设备在SCK脚产生时钟;从模式:SCK引脚用来接收从主设备传来的时钟。通常SPI通过4个引脚与外部器件相连: 1、MISO:主设备数据输入,从设备数据输出引脚。 2、MOSI:主设备数据输出,从设备数据输入引脚。 ...原创 2018-03-18 16:15:24 · 6181 阅读 · 1 评论 -
IIC 及遇到的问题
一、概念 半双工通信方式1、空闲状态2、开始信号3、停止信号4、应答信号5、数据的有效性6、数据传输二、遇到的问题1、GPIO模拟IIC速度慢,无法达到400k速度由于模拟iic的程序中调用了太多延时函数,导致程序执行的时间有点长解决方法: 修改延时时间2、发送、接收如果存在问题,一般都是时序有问题,按照手册等资料进行修改就可以解决问题...原创 2018-03-18 16:38:46 · 1586 阅读 · 0 评论 -
bootloader 启动过程
一、S5PV210 采用iROM(Nand Flash、SD卡等)方式启动1、处理器上电,将iROM映射到BL0(0地址处),执行iROM中的固化代码固化代码两个作用 1. 初始化硬件 2.拷贝BootLoader2、固化代码将BL1、BL2拷贝到SRAM(垫脚石)中3、如果BL1 + BL2太大超过了SRAM大小,将会将超过的部分拷贝到外部SDRAM中二、核心初始化1、异常向量表:因内部或外...原创 2018-03-18 23:02:09 · 721 阅读 · 0 评论 -
uboot 与 kernel移植遇到的问题
问题1:内核只引导到"Starting Kernel...",然后串口终端就没有输出了.原因:内核配置打印串口错误,选择正确的串口问题2:内核只引导到""booting the kernel",然后串口终端就没有输出了.原因:1、串口控制台参数设置不正确,如波特率、校验位等 2、uboot和kernel中的机器码不匹配,可以修改uboot或kernel中的机器码问题3:在内核引导...原创 2018-03-18 23:13:22 · 674 阅读 · 0 评论 -
同步、互斥的区别
现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务这两种情形是多任务编程中遇到的最基本的问题,也是多任务编程中的核心问题,同步和互斥就是用于解决这两个问题的。互斥:是指散步在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之...转载 2018-03-23 10:20:04 · 2651 阅读 · 0 评论