自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(34)
  • 资源 (12)
  • 收藏
  • 关注

转载 struct和typedef struct

struct和typedef struct分三块来讲述:  1 首先://注意在C和C++里不同    在C中定义一个结构体类型要用typedef:    typedef struct Student    {    int a;    }Stu;    于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student s

2017-08-29 10:45:49 257

原创 判断回文字符序列-栈的使用

main.cpp#include "headStack.h"int main(){ ElemType e; SqStack *s; printf("(1)初始化栈s\n"); InitStack(s); //char huiwen[5] = {'a','b','c','e','a'}; int n; printf("请输入元素个数:

2017-08-28 09:54:29 770

原创 Source insight 3.5注册码

Source insight 注册码SI3US-361500-17409 //亲测可用SI3US-721119-13700

2017-08-28 09:09:12 10217

转载 嵌入式开发工程师修炼步骤

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非

2017-08-22 15:21:33 444

原创 LCD显示图片的函数-ARM体系-2440

void Paint_BMP(int x0,int y0,int level,int vertical,const unsigned char *bmp)/*在屏幕上画图*/{ int x,y; UINT32 col; int p = 0; UINT16 *addr; for( y = 0 ; y < 272 ; y++ ) { for(

2017-08-21 16:25:54 1528

原创 LCD显示文字的函数-ARM体系-2440

/**lcd显示汉字*输入参数:* x:开始位置横坐标* y:开始位置纵坐标* color:字体颜色* ch[]:文字* */void Draw_Text16(int x, int y, int color, const unsigned char ch[]) { unsigned short i, j ; unsigned char mask, t

2017-08-21 16:19:28 1543 1

原创 嵌入式产品开发流程

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:         下面,针对嵌入式产品的开发过程中的各个阶

2017-08-18 19:18:20 684

转载 Linux USB 驱动开发-USB设备基础概念

Linux USB 驱动开发(一)—— USB设备基础概念 在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的。一个USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功能单元:a -- 这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);b -- USB逻辑设备被USB系统软件

2017-08-18 16:31:09 316

原创 触摸屏-原理及流程回顾

1、工作原理首先我们要区分lcd和触摸屏,lcd是一个屏幕,触摸屏是贴在lcd上的两层膜。接下来我们说一下四线电阻触摸屏的原理:触摸屏就是上下两层膜,比如上层代表x轴(XM:负端,XP:正端),下层代表y轴(YM:负端,YP:正端)。当读取x轴坐标时,XP接3.3v,XM接地,从YM读取按下点的电压值作为模拟输入信号,再经过AD转换后就得到了x轴坐标。同理,当读取y轴坐标时,Y

2017-08-18 16:01:46 2082

原创 分离分层

bus_drv_dev模型: 简单说明:这张图就是全部了。device是与硬件相关的代码,driver是比较稳定的驱动代码。当修改硬件部分的时候,只修改dev里面的东西。=======================================================================================================

2017-08-18 15:16:49 405

原创 输入子系统代码测试

/* 参考drivers\input\keyboard\gpio_keys.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

2017-08-18 14:49:25 288

转载 为何引入输入子系统及其架构

1、为何引入input system?       以前我们写一些输入设备(键盘、鼠标等)的驱动都是采用字符设备、混杂设备处理的。问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的、不同类别的输入设备进行统一的驱动,所以才出现了输入子系统。       输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备

2017-08-18 14:43:18 292

转载 异步通知

一、什么是异步通知异步通知类似于中断的机制。当设备可写时,设备驱动函数发送一个信号给内核,告知内核有数据可读,在条件不满足之前,并不会造成阻塞。而不像之前学的阻塞型IO和poll,它们是调用函数进去检查,条件不满足时还会造成阻塞。异步通知需要包含头文件xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2017-08-18 14:28:02 4591 1

原创 Linux触摸屏驱动-jz2440

s3c_ts.c#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct s3c_ts_regs { unsigned long a

2017-08-16 15:06:10 523

转载 Linux输入子系统框架-JZ2440

一、linux输入子系统的框架下图是input输入子系统框架,输入子系统由输入子系统核心层(Input Core),驱动层和事件处理层(Event Handler)三部份组成。一个输入事件,如鼠标移动,键盘按键按下,joystick的移动等等通过input driver -> Input core -> Event handler -> userspace 到达用户空间传给应用程序

2017-08-16 11:29:33 297

原创 触摸屏驱动-JZ2440

测试方法:1、make menuconfig 去掉原来的触摸程序  ->Device Drivers->Input device support->generic input layer->Touchscreens s3c2410/s3c2440 tsmake uImage使用新内核启动2、在虚拟机中编译tslib2.1、解压缩tar xzf t

2017-08-16 11:21:35 673

原创 LCD驱动-JZ2440

怎样写LCD驱动程序1、分配一个fb_info结构体,使用framebuffer_alloc()函数2、设置fb_info中的参数,1)固定参数(fix)2)可变参数(var)3)设置操作函数 fbops4)其他设置 如调色板pseudo_palette和屏幕尺寸screen_size5)分配显存 dma_alloc_writecombine(),返回的是虚拟地址3

2017-08-16 11:16:44 429

原创 linux的poll机制

linux的poll机制 Poll就是监控文件是否可读的一种机制,作用与select一样。应用程序的调用函数如下:int poll(struct pollfd *fds,nfds_t nfds, int timeout); Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间

2017-08-11 11:09:16 414

原创 Linux驱动程序的结构例程

简单Linux驱动程序,借此搞清楚Linux驱动程序的结构Frist_drv.c#include #include #include #include #include #include #include #include #include #include static struct class *firstdrv_class;static struct cl

2017-08-11 10:33:48 398

原创 Linux驱动基础开发 Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解

Linux驱动基础开发Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解转自Linux公社前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成    那么如何将驱动直接编译进内核呢? 

2017-08-10 16:26:08 271

原创 Linux驱动基础开发 Linux 驱动开发前奏(模块编程)

Linux驱动基础开发Linux 驱动开发前奏(模块编程)转自Linux公社一、linux内核模块简介     linux内核整体结构非常庞大,其包含的组件也非常多。我们怎么把需要的部分都包含在内核中呢?     一种办法是把所有的需要的功能都编译到内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,不得不重新

2017-08-10 16:24:15 239

原创 Linux 设备驱动基本概念

Linux 设备驱动基本概念转自Linux公社学习linux设备驱动首先我们必须明确以下几个概念,为我们接下来学习linux驱动打下坚实的基础:应用程序、库、内核、驱动程序的关系设备类型设备文件、主设备号与从设备号驱动程序与应用程序的区别用户态与内核态Linux驱动程序功能一、应用程序、库、内核、驱动程序的关系

2017-08-10 16:19:47 152

原创 Linux 设备驱动概述

Linux 设备驱动概述转自Linux公社Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer):      主要利用C库函数和Linux API进行应用软件的编写;      从事这方面的开发工作,主要需要学习:符合linux posix标准的API函数及系统调用,linux的多任务编

2017-08-10 16:15:19 277

转载 Linux进程间通信——使用共享内存

下面将讲解进程间通信的另一种方式,使用共享内存。转载一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一

2017-08-10 15:37:52 155

原创 Linux进程间六种通信方式

linux下进程间通信的几种主要手段:       1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;       2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件生,除了用于进程间通信外,进程还可以发送信号给

2017-08-10 15:29:59 306

原创 驱动-按键-中断模式

驱动-按键-中断模式eint_drv.c/*******驱动代码************/#include #include #include #include #include #include #include #include #include #include #include static struct class *eintdrv_cl

2017-08-09 15:57:28 300

转载 linux硬件设备操作函数 linux硬件设备操作函数

open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)<0){pe

2017-08-09 15:34:56 438 1

原创 Linux驱动开发概述

Linux设备分类设备的驱动程序也要像裸机程序那样进行一些硬件操作,不同的是驱动程序需要"融合进内核里",因此需要在驱动程序中加入操作系统规定的接口,这些接口都是独立于设备的。虽然操作系统为驱动程序设计者带来了"麻烦",却为应用程序设计者带来了"便利"。Linux下设备分为三类:字符设备、块设备、网络设备。字符设备是指必须以串行顺序访问的设备,比如触屏;块设备是指可以以任意

2017-08-08 21:33:06 269

原创 linux驱动模块组成

linux驱动针对S3C2440的GPG进行驱动程序设计驱动程序框架file_operations结构体设计file_operations结构体中的接口函数实现驱动程序初始化函数驱动程序退出函数file_operations结构体设计GPIO驱动程序需要实现以下几个接口函数open:用于支持应用程序的open操作release:用于支持应用程

2017-08-08 15:34:45 335

转载 UART-中断模式

代码downloadinit.c/* * init.c: 进行一些初始化 */ #include "s3c24xx.h" void disable_watch_dog(void);void clock_init(void);void memsetup(void);void copy_steppingstone_to_sdram(void);/* * 关闭WATCHD

2017-08-03 15:02:25 1041

原创 指针专项

用函数指针变量调用函数#include #include int Max(int x,int y){ int z; if(x>y){ z=x; } else{ z=y; } return z;}/*int main(){ int x,y,m; scanf("%d%d",&x,&

2017-08-02 10:19:52 316

原创 指针的点运算和箭头运算(->)的区别

指针的点运算和箭头运算(->)(其实点运算是结构体变量访问其成员的操作符    箭头运算是结构体指针访问其指向的成员变量的操作符)突然发现指针的两个运算符我是不太清楚的,就翻书搞了下:其实点运算和箭头运算都可以当作访问指针所指向的 结构体或者类对象的成员是用的操作符。比如:struct song{int a;}

2017-08-01 16:18:01 9992 1

原创 求MAX最大值

#include #include int max(int x,int y)//定义有参函数max/{ int z; z=x>y?x:y;//如果x>y成立,z=x,否则z=y; return z;}int main(){ int a,b; scanf("%d%d",&a,&b); int m=max(a,b); pri

2017-08-01 11:30:47 505

原创 静态变量Static

用static声明局部变量有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量已有值,就是上一次函数调用结束时的值。这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。#include #include int f(int a){ auto b=0; stat

2017-08-01 11:27:46 246

inception_resnet_v2 预训练模型

ImageNet上训练好的 inception_resnet_v2_2016_08_30模型,imagenet,可用于图像识别

2020-01-06

cudnn-9.0-windows10-x64-v7.3.1.20

https://developer.nvidia.com/rdp/cudnn-download 深度学习加速工具

2018-10-04

2440开发板直流电机实验

2440开发板直流电机实验,开发原理,实验步骤,实验原理

2018-01-15

uart串口中断模式

uart串口中断

2017-08-03

中断-按键控制LED灯

中断-按键控制LED灯

2017-07-25

从电脑拷贝视频文件到ipad中-并用最佳的播放器播放

从电脑拷贝视频文件到ipad中-并用最佳的播放器播放

2017-07-16

Qt教程及软件

Qt教程及软件

2017-06-08

Qt-2D绘图-显示图片

Qt-2D绘图-显示图片

2017-06-08

多窗口-步进电机-AD转换-合成实验

多窗口-步进电机-AD转换-合成实验

2017-06-01

通过Qt界面控制步进电机的启停1

了解Qt界面与开发板底层硬件之间的调用机制

2017-05-18

通过Qt界面控制步进电机的启停

一、 实验目的 了解Qt界面与开发板底层硬件之间的调用机制 二、 实验方法 1,在QT程序中,新建一件,再添加一个用于操作硬件的新方法,如controlMachine,建立按钮与con个属于你自己的类,如Widget用于显示。 2,在你的类中添加按钮控trolMachine函数之间的信号与槽机制(使用connect函数)。 3,完善你的controlMachine函数,在函数中实现:读取Edit中变量的值,放在你的新变量中,使用Linux系统函数open打开设备文件,调用::ioctl函数(在QT中直接调用系统函数前边得加::两个冒号),使用ioctl传入参数,然后关闭文件。

2017-05-18

QT Creator编写多窗口程序

QT Creator编写多窗口程序

2017-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除