自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (27)
  • 收藏
  • 关注

原创 一个字符设备驱动模板

背景最近学习字符设备驱动,其大致的框架与流程都基本搞懂了,为了方便以后代码重用,写了一个较为完善的模板,以后如果需要写如:led、key、beep等的字符设备驱动,就不需要从O开始,可以直接用来修改调试,代码中有比较清晰的注释,以及错误处理与回收机制,并且经过了初步测试,是通过的该模板的作用:编译生成.ko文件后,通过insmod *.ko加载模块,会自动在/dev目录下生成相应的设备文件,模板中设备文件名称为firdev,同样,卸载模块时会自动将其删除,这主要是device与class这两个结构

2020-08-14 20:19:41 43

原创 一个简单的字符设备驱动分析

前言明白了字符设备驱动基本框架与相关概念之后,我们知道一个字符设备驱动如果想要像文件一样去操作,首先肯定需要有设备号,还需要有个驱动名,然后需要填充file_operations结构体,这样才能实现对设备的具体操作,可以开始写代码了,just do it!接口介绍1、写代码之前,先介绍两个宏module_init() //这个是加载模块的时候调用的,相当于模块入口module_exit() //这个是卸载模块的时候调用的,相当于模块出口2、再介绍两个函数①.注册字符设备驱动函数用regis

2020-08-14 15:52:39 56 1

原创 linux字符设备概念——浅析

前言linux字符设备驱动学的是云里雾里,一团乱麻,剪不断理还乱… 放弃?不,反正闲着也是闲着,打王者还老遇到坑,免不了上火!那就一点一点来吧,弄一点是一点问题写字符设备驱动,我们首先需要知道:1、啥是设备号,用来干嘛的2、file_operations结构体的作用3、cdev是啥上面这三个应该就是字符设备驱动的关键了,把它们弄熟了才能更好的编写字符设备驱动概念理解1、啥是设备号,用来干嘛的?设备号又分为主设备号和次设备号主设备号用来区分不同硬件设备类型,如串口和USB之间的区别,

2020-08-13 16:04:31 72

原创 linux下系统信息查看

查看版本信息1、使用uname命令➜ ~ uname -rm4.15.0-72-generic x86_64-rm参数的意思如下:-r, --kernel-release: print the kernel release-m, --machine: print the machine hardware name2、查看/proc/version文件使用指令cat /proc/cpuinfo➜ ~ cat /proc/version Linux version 4.15.0-72-

2020-08-07 14:54:07 47

原创 Cstring转换成char*函数

char * CStringtochar(CString str){ char *ptr; #ifdef _UNICODE LONG len; len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); ptr = new char [len+1]; memset(ptr,0,len + 1); WideCharToMultiByte(CP_ACP, 0, str,

2020-07-01 19:14:00 1677

转载 create_singlethread_workqueue与create_workqueue的区别

系统版本:linux3.4使用create_singlethread_workqueue创建工作队列即使对于多CPU系统,内核也只负责在一个cpu上创建一个worker_thread内核线程;而使用create_workqueue创建工作队列对于多CPU系统,内核将会在每个CPU上创建一个worker_thread内核线程,使得线程处理的事务能够并行化.用代码解释前先说明一个知识点:  printk任何时候,任何地方都能调用它,可以在中断上下文和进程上下文中被调用,可以在任何持有锁时被调用;可以在多处

2020-06-17 11:12:41 61

原创 嵌入式软件面试题(相当有技术含量)

概述随着社会的进步,科学技术的发展,嵌入式技术得到了广泛应用,嵌入式产品几乎渗透到了我们生活的方方面面,同时,社会的发展也离不开嵌入式技术的助力,然而要成为一个成熟的嵌入式工程师并非易事,基本上要了解数据结构、操作系统、内核驱动、网络协议、算法等等,当然还有很多。但是嵌入式软件肯定绕不开C语言,C/C++测试是招聘嵌入式系统程序员过程中必须而且有效的方法!好了,废话不多说,直接上两份嵌入式软件面试题让你试试手!面试题(一)1~10题,每题10分,时间30分钟1、 C和C++中的struct成员有什

2020-06-12 14:37:38 150

原创 富有哲理的10则故事(必读经典)

这里写自定义目录标题前言初心短而小的故事1.搭讪2.相亲3.结婚4.拔牙5.报警6.剑客中长故事1.进京赶考2. 农民阿土3.成就他人前言首先,从一个小故事开始——在一个深深的鼠洞里,一个老鼠家族正在召开会议,会议的中心是怎样在觅食的时候及时发现那只喜欢搞突袭的黑猫。不一会儿,一只小老鼠想出一个好办法——在黑猫的脖子上挂一只铃铛。话一说完,大家齐声说好,但接下来却都沉默了,因为没有哪一只老鼠敢去挂这只铃铛。 这个故事不禁让我浮现出一个念头:与行动相比,有时候,幻想或想象其实是一件再舒服不过的事——它没有

2020-06-07 23:17:31 365

原创 活出最乐观的自己

我坚信的是,让我们熬过地震的唯一办法就是调整你的步伐。你没法避免每天的那些小震颤,只要你活着,它们就一定会出现。但我相信,这些经历都是天赐之福,能逼着我们去向左或向右迈步,寻找到新的重心。不要抵抗它们,让它们帮助你调整步伐。...

2020-06-02 12:47:53 190

原创 ROS【机器人操作系统】新手攻略

ROS【机器人操作系统】新手攻略第一步、我们要使用ROS首先要知道ROS是什么?第二步、掌握ROS的基本操作第三步、机器人上玩转ROS注意事项第一步、我们要使用ROS首先要知道ROS是什么?ROS—(Robot Operating System)是一个机器人软件平台,提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu,是开源软件

2020-05-27 09:35:08 266

原创 植物大战僵尸——最强阵容

前言植物大战僵尸是我以前很喜欢玩的一个游戏,这游戏很简单,但又富含智慧,并且男女无差、老少兼宜,我尤其喜欢玩其中生存模式下的——泳池(无限) ^ _ ^最初尝试开始尝试随意玩,不管什么阵容不阵容,干就完了,但是不管我怎么努力,基本玩不过20轮,到后面的僵尸Boss很难打,并且一波强过一波,甚是憋屈!调整战术我开始知道这里面伤害最大的就数玉米加仑炮、冰西瓜了,但是仅仅知道它们厉害还不行,开始觉得还是需要战术,需要有个好的阵容搭配,于是尝试各种阵容,玉米加仑炮+土豆组合甜甜圈+冰西瓜组合导

2020-05-24 00:15:44 1021

原创 编程规范总结

编程规范总结概述Ⅰ文件结构Ⅱ功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概述Ⅰ逝者如斯,岁月从指缝间溜走,年华在不觉中老去,弹指一挥间…从用单片机点亮第一个LED灯,以及用C语言打印出第一个”Hello World!”

2020-05-23 21:39:25 183

原创 盘点飞思卡尔i.MX多媒体处理器前世今生 (转)

盘点飞思卡尔i.MX多媒体处理器前世今生 (转)现如今,移动处理器领域,大家关注最多的是德州仪器、高通、展讯、MTK,甚至包括Intel,但是请别忘记飞思卡尔,他的i.MX处理器已经发展到第六代。那么我们今天就来盘点下i.MX的前世今生吧。i.MX前世:DragonBall现在提到DragonBall,也许大部分人会以为是七龙珠怀旧。不过确实,七龙珠出现的时间要早于摩托罗拉的D...

2019-11-07 09:24:16 50

原创 windows编程之多线程同步

#include #include DWORD WINAPI Fun1Proc(LPVOID lpParameter //thread data);DWORD WINAPI Fun2Proc(LPVOID lpParameter //thread data);int tickets = 100,num = 0;HANDLE g_hEvent;void m

2012-12-30 13:38:25 247

转载 郭嘉.十胜十败

第一是“道胜”:袁绍作为世族军阀,礼仪繁多而杂乱,为其形式所羁;曹操“体任自然”,因时因事而制宜,“道”高一筹。  第二是“义胜”:曹操“奉顺以率天下”,顺应历史潮流,合乎道义。  第三是“治胜”:郭嘉以政治家的眼光分析历史和现实,认为汉末大乱是统治者“政失于宽”,而袁绍以宽济宽,所以无以御下;曹操“纠之以猛而上下知制”,宽猛相济的治理措施是切合时要的。  第四是“度胜”:

2012-11-03 16:57:57 475

原创 高效排序与折半查找

#include #include #include char *StrSort(char *pStrSrc);int CharBinSearch(const char *pStrSrc, char chFind);int main(){ char pStr[] = "qwertyuiopasdfg1234567890hjklzxcvbnm"; int  i, nF

2012-11-02 15:01:31 343

原创 多态继承与派生

/**************************************************************************本程序功能:实现小型公司的工资管理,该公司主要有4类人员:经理、**兼职技术人员、销售员和销售经理。要求存储这些人员的编号、姓名、**月工资,计算月工资并显示全部信息,经理拿固定月薪8K,兼职技术人员按每小时**100元领月薪,销售员

2012-11-02 11:02:33 385

原创 栈&队列&类运用

/*-------------------------------------------------**程序功能:用栈、队列和类设计一个程序,检查所**输入的数据是不是回文数据,这串数据以点作为结束符--------------------------------------------------*/#include using namespace std;struct

2012-11-01 18:26:49 316

原创 二叉树操作类

/*-------------------------------------------------------------::一般情况下,二叉树中左边节点的数值要小于右边中序遍历 按  左子树  根节点  右子树的顺序遍历。先序遍历 按  根节点  左子树  右子树的顺序遍历。后序遍历 按  左子树  右子树  根节点的顺序遍历比如 6        / \

2012-11-01 16:51:01 301

原创 栈操作类

//栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。//它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶//栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。#include using namespace std;struct list//定义栈节点结构{    int data;    list *next;

2012-11-01 11:13:45 327

原创 队列—简易实现

/*---------------------------------------**设计一个队列操作类,包含入队和出队成员函数,**然后入队一组数据,出队并显示出队顺序--队列是一种特殊的线性表,它允许进行删除和插入操作。进行插入操作--的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。   --在队列这种数据结构中,最先插入的元素将是最先被删除的元素;

2012-11-01 10:44:52 370

原创 栈—简易实现

#include using namespace std;class SqStack{private: enum { MaxSize = 200 }; int data[MaxSize]; int top; public: SqStack(){top = 0;} ~SqStack(){}; bool isEmpty

2012-10-31 15:39:22 274

原创 学C++总结

学C++到现在十天左右了,又有新的事情来打断,现将在这几天中学到的东西总结如下:1、类和对象:照我的理解,类是一种数据类型,像C语言中的结构体一样,有一个关键字class,类中可以包含的东西:数据成员、成员函数、构造函数(可带参,可重载)、析构函数(不带参)等,类里面也可以有类;对象是类的具体实例,它是占用内存的总之C++中的类就像C语言中的结构体,只是类默认的成员是私有的而结构体

2012-10-29 19:23:18 441

原创 评选优秀

#include#include #include #include #include #include using namespace std;  class base//说明一个基类{public:    int mar;//标志优秀教师和优秀学生    void getname(){cout > name;}//成员函数    void pri

2012-10-29 19:14:39 319

原创 内存泄露

#include #include #include #include #include using namespace std;  void GetMemory(char **p, int num){    *p = (char *)malloc(num);}void main(void){       char *str = NULL;

2012-10-25 20:34:52 230

原创 用类求多边形面积

#include #include #include #include #include using namespace std;  #define  PI  3.141592class base//基类{protected:    int x,y;public:        base(int x, int y) { base::x = x; ba

2012-10-25 16:23:18 286

原创 虚函数&动态联编

#include #include #include #include #include using namespace std;    class A{public:    virtual void fun1() { cout     virtual void fun2() { cout     void fun3() { cout     vir

2012-10-25 14:23:47 314

原创 简易贪食蛇代码,附注释

/******************************************************************************************* Copyright (C) 2012 - ?, Changsha Spon Electronic Co., Ltd*********************************************...

2012-10-25 11:41:47 376

原创 API库函数调用与随机数生成

//句柄操作#include #include using namespace std;int main(){    HANDLE hout;//HANDLE句柄是一个核心对象在某一个进程中的唯一索引    COORD coord;//坐标设置结构体    coord.X=10;    coord.Y=30;    //GetStdHandle()返回标准的

2012-10-24 20:04:16 677

原创 这题递归用绝了

输入一个小于或等于九位数的数,输出它是几位数,然后单独顺序输出它的位,最后逆序输出它的位#includeint digtal(int n){    return (n > 0)? 1 + digtal(n/10) : 0;}int single(int n){    return (n > 0)? single(n/10),printf("%d ",n%10):0;

2012-10-24 11:51:04 269

原创 利用库函数求两个数的和

#include#define BUFFERSIZE 1024  /*允许处理的最长行有1024个字符*/int main(){ int a,b,sum;         /*将输入的两个数分别存储在变量a和b中,sum=a+b*/ char buffer[BUFFERSIZE]; printf("***********************************\n"

2012-10-24 11:45:47 305

原创 C/C++例程

1.前n项求和?#include<stdio.h>int main(){ int n,i,sum; sum=0; while((scanf("%d",&n)!=EOF)) { sum=0; for(i=0;i<=n;i++)...

2012-10-23 20:20:29 721

Mini2440_Linux移植开发实战指南.pdf

Mini2440 之 Linux 移植开发实战指南

2014-10-22

各种CRC16校验C语言程序源码

CRC16校验在通讯中应用广泛,这里不对其理论进行讨论,只对常见的3种实现方法进行测试。方法1选用了一种常见的查表方法,类似的还有512字节、256字等查找表的,至于查找表的生成,这里也略过。

2014-10-22

stm32配置文件

stm32配置文件,运行工程有误,缺的就是这个文件

2014-06-10

STM32F103 例程

STM32F103 带操作系统的例程,实现了分任务控制led,按键,串口等功能,有助于初学者学习用

2014-06-10

经典C++程序员笔试题

C++程序员笔试题,我觉得很好,对刚开始学习的人是一份很好的资料

2012-10-29

SDRAM控制代码

用VHDL硬件描述语言写的SDRAM控制代码,很有借鉴的价值

2012-10-19

diamond 中文版

用lattice软件而又对E文头疼的同胞,这是一份相当省时省事有价值的资料,对你绝对有帮助!

2012-10-19

fpga项目经验集锦

大虾们多年积累的项目经验,好资料不敢独享,现传上来供大伙共享!

2012-10-19

红色飓风开发板原理图

红色飓风开发板原理图

2012-07-03

红色飓风核心板原理图

红色飓风核心板原理图

2012-07-03

应用电子技术专业技能抽查标准及题库

应用电子技术专业技能抽查标准及题库,硬件,pcb制板,软件开发,电子器件维修

2011-10-17

FPGA嵌入式项目开发实战--电子书

FPGA嵌入式项目开发实战--电子书 很全很详细,这是一本不错的书

2011-10-17

12小时制时钟的制作

VHDL编写的可调整时间的12小时制时钟,可设置闹钟,程序并不复杂,逐条有注释

2011-06-01

UART的异步串口通信协议的VHDL语言实现

UART的异步串口通信协议的VHDL语言实现

2011-03-26

学ARM必读arm硬件手册

arm硬件手册 学ARM的人必读之 arm硬件手册 学ARM的人必读之

2011-03-26

DS12C887中文资料

DS12C887中文资料 DS12C887中文资料

2011-03-26

LCD1602数据手册

LCD1602数据手册 LCD1602数据手册

2011-03-26

基于单片机的数字钟设计

基于单片机的数字钟设计 分别用C语言与汇编语言编程 内容详实,易懂

2010-12-11

linux下编程规范.pdf

linux下编程规范,对标识符、变量、宏、函数以及程序效率、代码质量与安全做了相应的说明,供大家参考!借花献佛,如有侵权,告知删掉

2020-06-02

linux source code.zip

linux下应用程序 ,C语言编写,从简单的printf、scanf库函数使用到socket编程、服务器以及对话框程序设计,都有详细的源代码,可以供学习与开发提供参考!

2020-06-02

Linux-C编程API函数(掌握这些足够).pdf

linux下C编程各种API接口,查找非常方便,并且还有实例,我也是借花谢佛,不知道是哪位大佬整理的,这么好的资源应该跟大家一起分享! 1 字符测试篇 2 字符串转换篇 3 内存控制篇 4 日期时间篇 5 内存及字符串操作篇 6 常用数学函数篇 7 用户组篇 8 数据结构及算法篇 9 文件操作篇 10 文件内容操作篇 11 进程操作篇 12 文件权限控制篇 13 信号处理篇 14 接口处理篇 15 环境变量篇 16 终端控制篇

2020-06-02

DiFi MQTT服务器测试教程(PC测试)

MQTT服务器测试教程 一、 准备工作 硬件:不需要。 电脑:这个就不用写了,现在能见到的电脑基本上都能跑,推荐系统版本 Win7 64 位。 账号 :请打开 www.difiot.com,通过用户注册获取合法的用户名和密码,接下来要用到 这个用户名和密码。 软件:打开 http://mqttfx.jfx4ee.org/,下载 mqtt.fx,并安装好。 固件:不需要 .........

2018-07-18

嵌入式学习步骤及方法

嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,冬雪终将化去,春风定会吹来,详细介绍嵌入式学习方法与参考书籍

2018-07-18

Linux-C编程常用API接口-函数

linux中常用API详细介绍,包含应用例程 1 字符测试篇 2 2 字符串转换篇 10 3 内存控制篇 17 4 日期时间篇 22 5 内存及字符串操作篇 28 6 常用数学函数篇 45 7 用户组篇 56 8 数据结构及算法篇 78 9 文件操作篇 85 10 文件内容操作篇 94 11 进程操作篇 109 12 文件权限控制篇 130 13 信号处理篇 153 14 接口处理篇 166 15 环境变量篇 184 16 终端控制篇 186

2018-07-18

RT-Thread编程指导手册

这是一份 RT-Thread 开发人员的开发指引。RT-Thread 做为一份开源软件,它需要由不同 的人采用合作的方式完成,这份文档是开发人员的一个指引。RT-Thread 的开发人员请遵 守这样的编程风格。同时对于使用 RT-Thread 的用户,也可通过这份文档了解 RT-Thread 代码内部一些约定从而比较容易的把握到 RT-Thread 的实现方式。

2018-04-27

华为liteOS开发手册

Huawei LiteOS基础内核是最精简的Huawei LiteOS操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器、异常管理等操作系统基础组件,可以单独运行。

2018-04-27

\串口通信\基于FPGA的多串口扩展实现

\串口通信\基于FPGA的多串口扩展实现

2011-05-19

空空如也

空空如也

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

TA关注的人 TA的粉丝

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