- 博客(52)
- 资源 (2)
- 收藏
- 关注

转载 Linux字符设备与块设备的区别与比较
Linux中I/O设备分为两类:块设备和字符设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,调制解调器是典型的字符设备。(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘是典型的块设备,应用程序可以寻址磁盘上的任何位
2013-12-01 15:43:42
864
1
转载 open和fopen的区别:
open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大
2015-04-20 14:07:20
630
原创 STM32 晶振不震动
刚拿到的新板子,把程序烧录进去,但是运行地址不对,没进入到c语言检查以下四种情况1.检查芯片电源是否全对 2.检查晶振线是否短路3.检查负载电容是否正确4.检查你的复位电路元件是否正确用示波器查看晶振没有反映出现的问题是复位电路不正确,切记boot0=0 keil调试模式必须这样设置再次用示波器检查,晶振震动了,程序也跳入到了c语言。
2014-08-12 17:41:18
2249
原创 keil 调试指针不跳转 0x00000000 0000 MOVS r0,r0
不跳转是因为没有设置为调试模式,如下设置就能搞定调试模式当然是根据情况而定,效果如下,搞定,不过当然必须有main函数的定义
2014-06-26 09:28:33
9530
2
原创 .\Obj\HST_3G_IAP.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
keil编译工程出现错误:.\Obj\HST_3G_IAP.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.原因:是没有加载.s文件,加载到文件目录重新编译就可以
2014-06-26 09:11:47
6848
转载 c-center gps
... timeout occurred without receiving an answer. Retrying...!Polling: CFG-MSG - B5 62 06 01 02 00 01 40 4A 73 ...... failed due to timeout!Polling: CFG-MSG - B5 62 06 01 02 00 02 10 1B 45 ...
2014-06-13 17:30:40
1868
原创 keil RTX TCP/UDP 报错
.\Obj\HST3GSTM32F205.axf: Error: L6218E: Undefined symbol get_host_by_name (referred from neti_tcpip.o)..\Obj\HST3GSTM32F205.axf: Error: L6218E: Undefined symbol tcp_abort (referred from neti_tcpip.
2014-06-05 09:34:58
2851
原创 warning: #223-D: function "assert_param" declared implicitly
硬件平台:STM32F205一点一点跟踪,发现大部分的头文件都包含在stm32f10x_conf.h中,而这个文件又出现在stm32f10x.h中,其中有这样的一段:#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h" #endif原来是这个USE_STDPERIPH_DRIVER没有被定义,stm3
2014-05-28 11:21:21
10298
1
转载 ARM中的RO、RW和ZI DATA
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保
2014-05-27 14:27:25
712
原创 UART与USART的区别
UART与USART都是单片机上的串口通信,他们之间的区别如下: 首先从名字上看:UART:universal asynchronous receiver and transmitter通用异步收/发器USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器 从名字上可以看出
2014-04-22 13:55:17
17828
原创 RTX_Config.c 宏定义详解
任务:#define OS_TASKCNT 6 /*处于活动状态的最大任务数*/#define OS_PRIVCNT 0 /*是否可以用户自定义任务*/堆栈:#define OS_STKSIZE 50 /*默认的堆栈大小*/#define OS_STKCHECK 1
2014-04-19 11:49:26
4436
原创 secure CRT 使用VIM 语法高亮
1.高亮显示需要配置vim /etc/vim/vimrc.local 文件 添加如下信息 syntax on 2. “ syntax on 删除注释: syntax on 随便打开个c程序看看是否成功,如果需要vim升级sudo apt-get vim3.在secure CRT高亮需要配置这样secure CRT搞定了结果
2014-04-14 14:58:53
2229
原创 vim /etc/vim/vimrc.local
set nocp set ru set nu "set cin "set cino = :0g0t0(sus set sm set ai set sw=4 set ts=4 set noet set lbr set hls "set backspace = indent , eol , start "set whic
2014-04-14 14:34:07
1771
转载 linux下串口通讯参数设置
6.7.2 设置串口通信参数串口通信参数指的是波特率、数据位、奇偶校验位和停止位。对串口实现控制的时候同样要用到termio结构体。下面将结合具体的代码说明如何设置这些参数。1.波特率设置获得端口波特率信息是通过cfgetispeed函数和cfgetospeed函数来实现的。cfgetispeed函数用于获得结构体termios_p中的输入波特率信息,而cfgetospeed函数用于获
2014-04-11 15:10:54
1256
转载 mount/umount命令详解
mount命令详解umount 必杀:umount -l /dev/sda1参 数: -a 卸除/etc/mtab中记录的所有文件系统。 -h 显示帮助。 -n 卸除时不要将信息存入/etc/mtab文件中。 -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。 -t 仅卸除选项中所指定的文件系统。
2014-04-03 10:01:37
12961
1
转载 使用 udev 高效、动态地管理 Linux 设备文件
本文以通俗的方法阐述 udev 及相关术语的概念、udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例。本文会使那些需要高效地、方便地管理 Linux 设备的用户受益匪浅,这些用户包括 Linux 最终用户、设备驱动开发人员、设备测试人员和系统管理员等等。概述:Linux 用户常常会很难鉴别同一类型的
2014-04-02 10:33:09
833
转载 Linux进程状态(ps stat)之R、S、D、T、Z、X
Linux进程状态(ps stat)之R、S、D、T、Z、X2012 年 03 月 11 日Posted byJianLinux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状
2014-03-11 11:58:05
1128
转载 c access函数
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性: 06 检查读写权限 04 检查读权限 02 检查写权限 01 检查执行权限 00 检查文件的存在性而
2014-03-11 11:19:09
838
转载 32位和64位系统区别及int字节数
一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器?之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(C
2014-03-07 14:42:35
1422
转载 linux chmod命令
令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX
2014-03-07 14:01:54
902
转载 Make选项及makefile常用变量
Make命令可以带几种参数: 标志, 宏定义, 描述文件名和目标文件名, 标准形式为:Make [flags] [macro definitions] [targets] 在unix下, flags包含:-f file 指定file文件为描述文件. 如果file参数为"-", 描述文件指向标准输入, 如果没有"-f", 则系统默认当前目录下makefile或Ma
2014-02-16 22:11:45
707
原创 c语言中如何精确判断bool float是否等于零?
#include#includeint main(void){ float a=2.2; if(fabs(a)<=1e-6){ printf("yes"); }else { printf("no"); } return 0;}#include#includeint main(void){ bool bo=false; if(!bo){
2014-02-14 16:53:21
2955
转载 C语言内存分配问题和C语言中的内存
C语言内存分配问题1、C中内存分为四个区栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。 堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。 全局局:用来存放全局变量和静态变量。存在于程序的整个运行期
2014-02-14 12:13:35
782
转载 C/C++中存储类型修饰符的区别(auto、static、register、extern、volatile、restrict)
一、局部变量和全局变量:(1)局部变量:局部变量也叫自动变量,它声明在函数开始,生存于栈,它的生命随着函数的返回而结束。[cpp] view plaincopyprint?#include int main(void) { auto int i = 9; "white-space:pre"> //
2014-02-11 10:47:47
880
转载 信号量PV操作
在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1;
2013-12-30 12:10:15
1006
原创 用asp.net mvc 3加载 百度地图数据(结合百度API)
前言:百度地图标注物数据加载结合百度API(http://openapi.baidu.com/map/jsdemo.htm) 和百度拾取坐标系统(http://dev.baidu.com/wiki/static/map/API/tool/getPoint/)二者缺一不可,下面就来说说详细的调用和实现方法.(说明:用的是asp.net mvc 3)1.前端页面代码@{ Layou
2013-12-26 15:17:11
4273
转载 比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更
2013-12-06 14:31:19
817
原创 sql server 表字段查询
sqlserver 为了查询表的字段,动态查询Select Name FROM SysColumns Where id=Object_Id('表名')
2013-12-03 17:48:49
1615
原创 asp.net mvc 清除视图缓存
asp.net mvc 清除视图缓存,消除缓存方法public ActionResult SearchCommunityPopulation(){ //禁止页面被缓存 Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires
2013-12-03 17:48:47
3287
原创 C# 读写 excel (它支持html格式的excel文件)
这是通过微软office导出excel文件,为什么通过微软的office导出呢,因为我开始用的是npoi office导出,它不支持一种格式(就是html格式的excel文件),但是office支持,所以,写个博客,给大家分享,分享思维方式:通过读取文件的excel文件,再通过模版格式导出相应的格式/// /// 导出excel ///
2013-12-03 17:48:45
1677
原创 asp.net mvc 3 session失效 出现画中画
首先说一下,有种情况就是session半个小时后自动失效,会出现跳到登录页面会有画中画的效果,然而可以通过Attribute解决,通常情况下一般都是通过ajax请求,所以呢,下面的方法可以解决 1 public class UserAuthorizeAttribute : AuthorizeAttribute 2 { 3 public over
2013-12-03 17:48:42
1150
原创 C语言 十进制转换成二进制转换方法,以及指定位反转
#include char * itbs(int n,char * ps);void show_bstr(char * str);int inver_end(int number,int bits);void main(){ char bin_str[8*sizeof(int)+1]; int number; while((scanf("%d",&number))=
2013-12-02 11:28:06
1725
原创 VC 6.0 常用快捷键
F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消)F2 --跳到下一个书签位置Shift+F2 --跳到上一个书签位置Ctrl+Shift+F2 --删除所有书签F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在一个字符串上,那么自动查找此字符串.相似的有Ctrl
2013-12-02 11:26:39
945
原创 c语言手算开方 以及C开方,C计算正切值
手算开方是我们初中时期就学习的知识,以前学习过现在复习下。以√200 为列一般我们以前得出的结论是:10 √2如今以C为列,不可能显示这样的方式,所以要有详细的计算方式,如下:以个位开始两为为一个断,200=2,00,后面有小数点的部分没计算一位曾加两个01.用除法运算,以一个数的平方为主,1*1=1,2*2=4,把200中的2提取出来进行计算,12.拿出两个零则被除数为1
2013-12-02 11:24:59
2465
原创 linux 下载tftp报错 缺少库文件libssl0.9.8
执行命令sudo apt-get install tftp tftpd 安装tftp就报错,其实报这个错误,安装什么都是安装不成功的,安装vim ,samba也是如此,纠结了半天就是不知道咋回事啊vsftpd : Depends: libssl0.9.8 (>= 0.9.8m-1) but it is not going to be installedE: Unmet dependenci
2013-12-02 11:23:01
3907
1
原创 linux sudo apt-get update 出错
Ign file: apt_packages/ Release.gpgIgn file: apt_packages/ Translation-en_US Ign file: apt_packages/ Release Ign file:
2013-12-02 11:21:52
2525
原创 c语言冒泡排序
#include#includeint main(void) { int bubble[6]={6,2,3,4,1,9}; int temp,i,j; for(i=0;i<6-1;i++){ for(j=0;j<6-i-1;j++){ if(bubble[j]>bubble[j+1]){//大数的排在后面,如果要大数排在前面改成‘<’就OK temp=bubb
2013-11-30 09:44:40
920
原创 c语言素数判断
#include<stdio.h>#include <math.h>void main(){ int n,i,k; printf("输入大于等于2的整数:n\n"); scanf("%d",&n); k = (int )sqrt(n); for(i = 2; i <= k;i++) if(n % i == 0) break; if(i > k) printf("素数\n"); else printf("不是素数\n"
2013-11-30 09:17:08
1419
原创 c语言递归求n的阶乘
1.用循环#includeint main(){ int i,n,sum=1; scanf("%d",&n); for(i=1;i<=n;i++) { sum*=i; } printf("%d!=%d",n,sum); getch(); return 0;}2.用递归#includeint factorial(int n){ if(n==0)
2013-11-30 09:03:37
10883
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人