- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 重定向对格式化IO(printf)行缓冲的影响
今天在看APUE3进程章节的fork函数的时候,有一个例程中使用了格式化IO函数(printf),在输出到终端的时候只输出一次,但重定向到某个文件时,却由于子进程及缓冲更改的关系输出了两次。具体代码如下:#include "apue.h"int globvar = 6; /* external variable in initialized data */char buf[] = "
2014-09-11 22:14:03
1715
原创 STM32学习笔记——利用通用定时器TIM2进行精确延时
利用通用定时器TIM2进行精确延时1. 通用定时器概述及性能1.1 概述在作者所使用的stm32芯片上,共有TIM1 1个高级定时器以及TIM2、TIM3、TIM4共3个通用定时器。其中各通用定时器均由一个通过可编程预分频器驱动的16位自动装载计数器构成。适用于多种场合,包括测量输入信号的脉冲长度(输入采集)或者产生输出波形(输出比较和PWM)。使用定时器预
2014-08-13 23:07:53
39545
5
原创 在Keil中使用JLink调试S5PV210配置方法
一 环境Keil uVision4(MDK)v4.12JLink-ARM v4.62 二 升级JLink固件1. 安装MDK及JLink驱动2. 将JLink与PC及GEC210板连接并上电,打开J-Link Conmander检查是否兼容Cortex-A8,具体操作如图1,若提示升级则选择“否”。图1 打开J-Link Commander 以J-L
2014-08-13 12:04:46
3975
原创 c语言_数据结构_双向循环链表
双向循环链表与单向循环链表的区别在于,每个节点的指针域中除了有指向下一结点的next指针外,还有指向前一结点的prev指针: 在链表中,中间部分结点的next指针指向其直接后继结点,prev指针指向其直接前继结点。与单向循环链表相同,末结点的next指针不再指向NULL,而是指向头结点Head,而头结点的prev则指向末结点。将新结点new插入到p所指向的结点之后:
2014-08-13 12:04:44
2006
原创 c语言_数据结构_单向循环链表
单向循环链表是单链表的一种改进,是将单链表的首尾结点相连的一种结构。其结构图如下: 单向循环链表的创建: #include #include typedef int datatype; typedef struct node{ datatype data; struct node *next;}listnode, *linklis
2014-08-13 12:04:42
1542
原创 c语言_数据结构_单链表
将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立它们之间的联系,所得到的存储结构为链表结构,表中ai的结点形式如图表示: 其中结点的data域存放数据元素ai,而next域是一个指针,指向ai的直接后继ai+1所在的结点。单链表结构如下:单链表的建立:#include#include#include
2014-08-13 12:04:39
1129
原创 c语言_数据结构_顺序表
顺序表是线性表的一种,是将线性表L=(a0,a1,……an-1)中各元素依次存储于计算机内一片连续的存储空间的一种顺序存储结构。 由于C语言中数组类型也有随机存取的特性,因此通常都用数组来描述数据结构中的顺序存储结构。 假设线性表每个元素需占l个存储单元,则表中第i个数据元素ai的存储位置为顺序表的结构图 顺序表的建立: #include #include
2014-08-13 12:04:37
1341
原创 C语言基础补充3
数组和指针1. 数组首地址对于char a[] = "linux";其中a:数组首地址;&a:数组地址;&(a[0]):数组首元素地址。在数值上,三者都相等,但表示的意义却不同。如:a+1 == a+1*sizeof(char) //加元素所占字节(&a)+1 == a+1*sizeof(a) //加数组所占字节&(a[0])+1 == a+1*sizeof(char) //加元
2014-08-13 12:04:35
954
原创 C语言基础补充2
1. C语言中常量一般使用大写字母表示,如:#define NAME Murphy2. 用const修饰的标识符是只读变量不是常量,且仅在声明时做第一次初始化。3. 隐式类型转换 int →long → unsigned long→ longlong → unsigned long long→ float→ double→ longdouble记
2014-08-13 12:04:33
755
原创 C语言基础补充
一、基本结构1. 无论是否只有单行代码,花括弧必须完备,方便后续人员维护开发。2.针对头文件只作函数变量声明用,函数在库中实现。3. main函数:(1)标准main函数格式: ① int main(void){…} ② int main(int argc,char**argv){…}//argc:输入参数个数,不小于1;argv:输入字符串。 忌用 main()、
2014-08-13 12:04:31
865
原创 Linux变量与samba服务器、nfs服务器搭建
一、Linux变量(1)定义变量 Linux中变量不需要声明,创造变量语法:export 合法变量名=合法变量值 其中,直接在终端中运行export命令定义的变量只对当前的终端有效,且生命周期为当前终端生命期,一旦当前终端被关闭,变量即失效,若下次需要用则需重新定义。 此外,若想让设置的变量永久有效,则有如下两种方法:1. 在/etc/profile文件中定义变量
2014-08-13 12:04:29
848
原创 Linux系统常用命令与vim常用命令
一、 Linux系统常用命令格式:command [option] [argument1] [argument2] ... 其中option以“-”开始,多个option可以用一个“-”连接,例如:“ls -l -a”与“ls-la”的作用是一样的。命令在正常执行结果后返回一个0值,如果命令出错或未完全完成,则返回一个非零值(在shell中可用变量“$?”查看。在shellscrip
2014-08-13 12:04:26
804
原创 Win7下在VMware虚拟机中安装Ubuntu
一 说明:ubuntu 版本:ubuntu11.10镜像文件:ubuntu-11.10-dvd-i386.iso开源下载:http://www.ubuntu.org.cn/二 步骤:1. 在VMware中新建虚拟机:2. 选择自定义安装模式:3.配置信息:设置虚拟机名称及安装路径,尽量选择剩余容量较大的硬盘:设置虚拟机内存,根据自身物理内存而定,一般是1G:
2014-08-13 12:04:24
1084
原创 STM32学习笔记——使用SysTick定时器做延时
开学了,无法再像假期一样能够一整天玩板了!好在这学期的课说少不少,说多也不多,每周也有十几大节。剩下的时间除去学生工作等一些七七八八的事情,间断着还是能看看教程玩玩板!越发发现《STM32菜鸟学习手册——啰嗦版》真是不错的入门教程,简单易懂。其他诸如《固件库手册》等等官方文件更是必不可少,可惜ST公司的网页找手册实在麻烦得很呐! 这两天一直在看有关于系统嘀嗒时钟SysTick的文件,但由
2014-08-13 12:04:20
7279
原创 STM32学习笔记——使用函数库编程控制GPIO口输出
使用函数库编程控制GPIO口输出看了网上许多人的代码以及各类开发板所带的例程,大多数使用的都是官方发布的函数库来编程,通过查询后发现,使用函数库来编程可以简化开发过程,并不需要追溯到各个寄存器,通过查看库手册,新手也可以快速应用STM32,因此,决定先从函数库开始入门!1. 建立带函数库的IAR项目工程先从网上下载3.5版(据说3.0版以后的固件库才逐渐稳定)stm32固件库(stm3
2014-08-13 12:04:18
8647
1
原创 STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
控制GPIO输出点亮LED灯——直接操作存储器一.预备知识使用51单片机控制IO口相对来说要简单得多,最小系统搭建完毕后直接通过软件往各IO口写“1”或者写“0”即可。但使用STM32控制IO口输入输出却远没有这么容易,经过一个下午的查阅文献及探索后,略微有了头绪。个人所使用的STM32F103VBT6有100个引脚,其中有五组GPIO(GPIOA…GPIOE),每组有16个GPIO
2014-08-13 12:04:16
17341
原创 STM32学习笔记——学前准备
学前准备 由于学科上需要,及个人兴趣,日前,入手了一块STM32的开发板,准备开始学习STM32。先前一直在学的只有51单片机,开始对STM32了解后发现,STM32与51单片机的区别相当大,性能也要好的多。而自己无法一下子从51单片机转变过来适应STM32,因此决定将自己的学习过程整理成笔记,方便日后查询回顾,也希望能得到其他对STM32感兴趣的同学的指教,让自己尽快入门。一. 首
2014-08-13 12:04:14
1360
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人