学习笔记
文章平均质量分 68
LDan508
这个作者很懒,什么都没留下…
展开
-
【PM】产品需求管理
一、需求采集(需求管理员):通过多种形式对用户的需求进行收集,通常的形式有:用户访谈,调查问卷,测试结果,数据分析等,在这个阶段对需求的属性详细记录,并且记录可追溯的反馈人员。一般收集需求的对象有:1. 最终用户2. 市场人员3. 测试结果4. 领导需求5. ……. 二、需求分析(PM):原创 2016-07-07 17:16:57 · 1493 阅读 · 0 评论 -
【Qt】splitter
一段简单的分割窗口的程序:#include "mainwindow.h"#include #include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QFont font("ZYSong18030",20);// a原创 2016-04-22 20:54:34 · 1515 阅读 · 0 评论 -
【51单片机】A/D(1)
用单片机控制ADC0804进行模数转换,当拧动实验板上A/D旁边的电位器Re2时,在数码管的前三位以十进制方式动态显示出A/D转换后的数字量(8位uA/D转换后数值在0~255变化)。 #include#includesbit dula=P2^6; //申明U1锁存器的锁存端sbit wela=P2^7; //申明U2存锁器的锁存端sbit adwr=P3^原创 2016-05-06 17:37:45 · 2533 阅读 · 2 评论 -
【Qt】标准颜色对话框类
标准颜色对话框类是在标准文件对话框的基础之上添加一些布局实现的,效果如下:click "颜色标准对话框实例"chose the one you love:add the code into dialog.h: QPushButton *colorBtn;//标准颜色对话框类 QFrame *colorFram;add the code原创 2016-05-12 23:05:52 · 4688 阅读 · 0 评论 -
【Qt】标准字体对话类
标准字体对话类是在标准文件对话类和标准标准颜色对话类的基础上添加的参见地址:(1)http://blog.csdn.net/ldan508/article/details/51378433 (2)http://blog.csdn.net/ldan508/article/details/51388336效果展示:add the code into dialo原创 2016-05-12 23:38:25 · 1056 阅读 · 0 评论 -
【Qt】标准文件对话框
定制一个文件对话框:效果展示:点击文件标准对话框实例:显示所选文件的路径:代码展示://main.cpp#include "dialog.h"#include #include int main(int argc, char *argv[]){ QApplication a(argc, argv);原创 2016-05-11 21:33:59 · 1410 阅读 · 2 评论 -
【Qt】修改用户资料
这是一个简单的修改用户资料的例子,在这个例子里可以看到如何实现一个相对较为复杂的窗口布局,如何使用分割窗口,如何使用堆栈窗口等,效果图如下:代码的实现有点多,但是我已经尽力备注,方便大家的理解,建议看着效果图和注释一起理解这些布局,要坚持看下去,希望能对你有所帮助,具体代码如下://main.cpp#include "content.h"#include #incl原创 2016-04-29 17:03:18 · 3540 阅读 · 0 评论 -
【Qt】按钮键
按钮键添加以及使用方法的简单示例: //widge.h#ifndef WIDGET_H#define WIDGET_H#include class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0); ~Widget();};#原创 2016-04-15 13:05:35 · 546 阅读 · 0 评论 -
【Qt】Variant类
一个关于QVariant类的简单用法示例:#include "widget.h"#include#include#includeWidget::Widget(QWidget *parent) : QWidget(parent){ QVariant v(709);//声明并初始化一个整数变量 qDebug()<<v.toInt();//变为整原创 2016-04-15 08:58:51 · 1429 阅读 · 0 评论 -
【Qt】UserInfo
这是一个静态的关于用户信息的界面,首先看一下效果: 接下来是看代码://dialog.h#include #include#include#include#include#ifndef DIALOG_H#define DIALOG_H#include class Dialog : public QDialog{ Q原创 2016-04-25 21:31:06 · 6673 阅读 · 0 评论 -
【操作系统原理】进程同步
之前说了那么多互斥,现在来说一说进程同步,但是,看字面意思,你是不是认为同步应该就是与互斥相反,可以允许多个进程访问同意资源,而且是一起?虽然可能只有我那么天真,但是答案是NO! 所谓进程同步,简单的说是“你等我,我也等你”的同步约束。其实是另外一种互斥,互斥是两者只能运行其一,没有顺序要求,但是同步,也是只能有一个进程访问资源,但是,顺序定了。 来看一下比较官方的原创 2016-03-14 20:18:45 · 2070 阅读 · 0 评论 -
【操作系统原理】信号量机制
信号量机制是一种卓有成效的进程互斥同步工具。这里只介绍记录型信号量机制,它可以有效的解决CPU“忙等”的问题,实现互斥。 记录型信号量机制的数据结构如下(看不懂那些字母是什么其实没有关系): type semaphore=record value:integer; (下文传说中的S)原创 2016-03-13 23:17:37 · 7647 阅读 · 0 评论 -
【51单片机】中断程序
#includesbit dula=P2^6;sbit wela=P2^7;//sbit D1=P1^0;unsigned char num;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0原创 2016-04-06 15:42:38 · 1451 阅读 · 0 评论 -
file结构
file结构file结构是设备驱动程序所使用的另一个重要的数据结构,它代表一个“打开的文件”,是应用程序在进行open()调用时由内核创建的,在进行close()调用时作为参数传递给函数以关闭相应的文件。在文件关闭后,内核释放这个数据结构。file结构也在include/linux/fs.h中定义。 include/linux/fs.h519 struct file{5转载 2016-02-28 19:59:17 · 834 阅读 · 0 评论 -
嵌入式系统分类
嵌入式系统的定义:嵌入式系统源于微型计算机,是嵌入到系统对象体系中去,实现嵌入对象智能化的计算机。例如手机,MP3,PDA(personal digital assistant,个人数码助理,一般指的是掌上电脑),数码伴侣(一种由高速大容量移动硬盘+多种读卡器和二为一的数码存储设备,可以在没有电脑的情况下转存数码存储卡的数据。 嵌入式系统的发展:由于这些产品在体积,价位和可靠性上的要求原创 2016-02-28 19:56:41 · 4840 阅读 · 0 评论 -
【Qt】QDockWidget
一个简单的停靠窗口类:设置三种停靠窗口:(1)可浮动;(2)可移动、可关闭;(3)具备以上所有特性#include "mainwindow.h"#include#includeMainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ setWindowTitle(tr("DockWi原创 2016-04-22 21:07:32 · 1086 阅读 · 0 评论 -
【Qt】StackedWidget
一个简单的堆栈窗口类:左侧列表框会出现不同的选项,右侧显示所选的不同的窗体 #include#include "stackdlg.h"StackDlg::StackDlg(QWidget *parent) : QDialog(parent){ setWindowTitle(tr("StackedWidget")); list=new QLi原创 2016-04-22 21:17:33 · 1583 阅读 · 0 评论 -
【Qt】消息对话框类
消息对话框类在前者消息对话框的基础之上完成的参见:http://blog.csdn.net/ldan508/article/details/51921182【效果如下】 【添加代码】添加新的文件msgboxdlg类//msgboxdlg.h#ifndef MSGBOXDLG_H#define MSGBOXDLG_H#include原创 2016-07-16 12:15:24 · 1449 阅读 · 0 评论 -
【Qt】标准double类型输入对话框
标准double类型输入对话框是在标准对话输入框的基础上完成的参见:http://blog.csdn.net/ldan508/article/details/51920671【效果如下】 【添加代码】void InputDlg::ChangeScore()原创 2016-07-15 21:41:19 · 2298 阅读 · 0 评论 -
【Qt】标准int类型输入对话框
标准int类型输入对话框是在标准条目对话框的基础上完成的参见:http://blog.csdn.net/ldan508/article/details/51921023【效果如下】 【添加代码】void InputDlg::ChangeAge(){ bool ok; int age=QInputDialog::get原创 2016-07-15 21:23:35 · 3462 阅读 · 0 评论 -
【Qt】标准条目选择对话框
标准条目选择对话框是在标准字符串输入对话框的基础上完成的参见:http://blog.csdn.net/ldan508/article/details/51920918【效果如下】 【添加代码】//inputdlg.cppvoid InputDlg::ChangeSex(){ QStr原创 2016-07-15 21:10:31 · 2808 阅读 · 0 评论 -
【Qt】标准字符串输入对话框
标准字符串输入对话框是在标准输入对话框的基础之上完成的参见:http://blog.csdn.net/ldan508/article/details/51920671【效果如下】 【添加代码】//inputdlg.cppvoid InputDlg::ChangeName(){ bool原创 2016-07-15 20:51:48 · 4003 阅读 · 0 评论 -
【Qt】标准输入对话框
标准输入对话框是在标准字体对话框的基础上完成的参见:http://blog.csdn.net/ldan508/article/details/51388526【实现效果】 【添加代码】//inputdlg.h#ifndef INPUTDLG_H#define INPUTDLG_H#include#include#include#in原创 2016-07-15 20:10:09 · 3617 阅读 · 1 评论 -
【算法设计与分析】Commando
【题目】【输入输出要求】【样例】【程序代码】#include#include#define N 10000struct soldiers//定义士兵信息的结构体{ int b;//讲述任务的时间 int j;//执行任务的时间}task[N];int cmp(soldiers x原创 2016-06-15 14:04:05 · 1005 阅读 · 0 评论 -
【算法设计与分析】The Dragon of Loowater
【题目】【输入输出要求】【输出样例】【程序代码】#include#include#define N 2000#define M 2000int main(){ int n,m; int a[N];//怪兽头的半径 int b[M];//骑士的能力值 while(scanf("%d%d",&n,&m)原创 2016-06-13 22:15:30 · 967 阅读 · 0 评论 -
【算法设计与分析】长城守卫
【题目】【输入输出】【源代码】#include#includeusing namespace std;const int maxn=100010;int n,r[maxn],left[maxn],right[maxn];//测试p个礼物是否足够//left[i]是第i个人拿到的“左边的礼物”总数,right同样bool原创 2016-06-30 17:20:51 · 2061 阅读 · 0 评论 -
【算法设计与分析】派
【题目】【输入输出】【源代码】#include#include#includeusing namespace std;const double PI = acos(-1.0);//求反余弦的值,3.141593const int maxn = 10005;int n, f;double A[maxn];inline bool原创 2016-06-30 17:14:36 · 784 阅读 · 0 评论 -
【算法设计与分析】墓地雕塑
【题目】【输入输出】【样例】【源代码】#include#include#includeusing namespace std;int main(){ int n,m;//n个雕塑,现在加入m个雕塑 double k,a=0,b; while(scanf("%d%d",&n,&m) == 2)原创 2016-06-30 17:09:26 · 1249 阅读 · 0 评论 -
【算法设计与分析】蚂蚁
【题目】【输入输出】【样例】【源代码】#include#include#include#includeusing namespace std;const int maxn=10005;struct ants{ int id ; //输入序号 int pos ; //在小木棍上的顺序 int status原创 2016-06-30 17:03:02 · 902 阅读 · 0 评论 -
【算法设计与分析】To the max
【题目】【输入与输出】【源代码】//思路简述:这是一个可以化为选出最大子序列的问题,首先对一行进行选取,选出以当前数结束的序列的和的最大值//然后将每一行的每一列数逐次加起来,形成一个新的序列,再一次进行选择,max不断被取缔#include#include#define MAXN 105#define INF -1000int srow[MAX原创 2016-07-11 10:22:28 · 1036 阅读 · 0 评论 -
【算法设计与分析】输油管道问题
【题目】【输入输出要求】【源代码】//思路简述:将每个房间存入一个数组,以房间号做为下标//按照输入的桌子所要经过的房间号对应的数组值加一,每一次都加加//最后数组中的最大值即是至少需要单独安排的搬桌子次数#include #include #define SIZE 405int main(void){ int count[SIZE];原创 2016-07-11 10:10:39 · 8045 阅读 · 2 评论 -
【操作系统原理】进程的互斥以及上锁与解锁原语
进程互斥 什么是进程互斥? 所谓进程互斥,就是对于系统的某种资源,若一个进程正在访问它,其他进程必须等待,不能同时使用。这是一种源于资源共享的制约关系,也称为间接制约关系。 接下来,我们来简要的了解一下几个概念:这种限定资源只能排他性的访问的资源叫做临界资源。程序中访问临界资源的那段代码称为临界区或临原创 2016-03-13 16:40:11 · 6525 阅读 · 0 评论 -
【51单片机】静态与动态点亮数码管
静态:#includesbit dula=P2^6; //数码管寄存器sbit wela=P2^7; //位寄存器void main(){ wela=1; P0=0xf8; wela=0; //确定几位数码管亮,且使其状态保持 dula=1; P0=0x3f; //显示的数字 dula=0; while(1);原创 2016-04-05 09:52:41 · 2291 阅读 · 0 评论 -
【51单片机】蜂鸣器
#include#include //包含_crol_函数的头文件 sbit beep=P2^3;void delay(unsigned int z); //sbit temp= P1^0; unsigned char temp; void main(){ temp=0xfe; P1=temp;原创 2016-04-05 09:42:37 · 1771 阅读 · 0 评论 -
file_operations结构
file_operation结构由于用户程序是通过设备文件与硬件打交道,对设备文件的操作方式不外乎就是一些系统调用,如open()、read()、write()、close()等,但是如何把系统调用和驱动程序关联起来呢?这需要了解一个非常关键的数据结构:file_operation。改结构定义了文件操作接口,结构中除了owner外,每一个成员都对应着一个系统调用。具体如下:原创 2016-01-20 12:25:16 · 777 阅读 · 0 评论 -
嵌入式实验(一)
ARM的实验:实验一和实验二主要是要搭建环境,为后续的实验着好准备,首先,我需要了解一下我们安装的这些东西是什么作用的: 实验一:交叉编译工具:就是为了编译、链接、处理和调试跨平台体系结构的程序代码。每次执行工具链软件时,通过带有不同的参数,可以实现编译、链接、处理或者调试等不同的功能。从工具链的组成上来说,它一般由多个程序构成,分别对应着各个功原创 2015-12-18 19:41:53 · 1532 阅读 · 0 评论 -
使用printk()函数调试设备驱动程序
当程序代码编写好时很少不会出错误,这个时候就要用printk()函数来调试了。该函数的功能与printf()差不多,但是,它只能由内核例程来调试,该函数在kernel/printk.c中实现,原型如下:int printk(const char *fmt,…);printk()函数的使用方法与printf()基本相同,但参数的第一个位置可以使用表示信息重原创 2016-01-19 19:35:23 · 778 阅读 · 0 评论 -
内核空间和用户空间的数据交换
对设备的读操作是将数据从Linux的内核空间复制到用户空间;写操作是将数据从Linux的用户空间复制到内核空间。因为Linux的内核空间和用户空间是隔离的,所以要实现数据的拷贝就要使用专门的内核函数。可以在内核空间和用户空间进行数据复制的函数在中定义,其原型如下:unsigned longcopy_to_user(void_usr *to,con原创 2016-01-19 18:50:33 · 1586 阅读 · 0 评论 -
信号量
【设备驱动程序中的并发控制】在驱动程序中,当多个线程同时访问像全局变量这样的共享资源时,会引发“竞态”,需要对共享资源进行控制。Linux内核中解决并发控制的最常用方法是信号量与自旋锁。信号量是一种睡眠锁,如果有一个任务试图获得一个已经被持有的信号量时,信号量会将其推入等待队列,然后让其睡眠,这时候处理器获得自由去执行其他代码。当持有信号量的进程释放信号量之后,在等待队列中的一原创 2016-01-19 17:33:10 · 1407 阅读 · 0 评论 -
模块(加载函数和卸载函数)
Linux模块是一些代码的集成,可以在启动系统后动态链接到内核的一部分,一旦载入之后就和内核没有什么区别,可以使内核崩溃。当不需要这些模块时,又可以断开链接将其删除。Linux的模块可以用C语言来编写,用gcc来编译生成目标文件(不进行链接,作为*.o文件存在),为此需要在gcc命令里加入-c的参数。由于不进行链接,gcc只允许一个输入文本,因此一个模块的所有部分都必须在一个文件中实现原创 2016-01-18 10:56:53 · 2802 阅读 · 0 评论