自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello, New World!

万物伊始,效率本源。大道至简,代码之禅。自建博客: https://janycode.github.io

  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 Tcar:智能车之基于mg995型号舵机的驱动控制模块

3、舵机模块 mg995直流电机 + 控制电路3.1 驱动程序  mg995有三条线:  电源线  GND线  控制线  要想控制舵机,就是操作控制线,只需要控制这一根。  控制线连接到CPU特定的管脚上去    '编程控制舵机,就变成了编程控制对应的CPU管脚'  控制原理:  1.控制线接收周期性的方波脉冲信号  2.一个周期20ms

2017-03-28 22:45:52 6112

原创 Tcar:智能车之基于L298N电机驱动芯片的驱动模块

2、电机驱动模块 - L298N电机驱动芯片   // env/motor.zip   两个直流电机,控制前轮的用于转向                 控制后轮的用于前进后退   编程,让用户方便的控制小车的运动   2.1 电机的驱动       硬件的接法:           电机上需要的瞬间电流可能是安培级的           而CPU上的管脚输出的

2017-03-27 23:17:45 2949

原创 Tcar:智能车之基于rtl8188eu驱动的wifi模块

2、WIFI模块2.1 WIFI模块的驱动程序     http://www.realtek.com.tw     https://github.com/lwfinger/rtl8188eu     // wifi_hostapd_dnsmasq.rar/rtl8188eu.tar.bz2          git 分布式的版本控制软件,linus开发的

2017-03-26 18:10:06 3237

原创 Tcar:智能车之ds18b20温度传感器实现温度采集模块

1、温度采集模块   // env/ds18b20.zip1.1 硬件 温度传感器 'ds18b20' 一线式设备(1-wire) '独立式供电': VDD接独立的电源 '寄生供电': DQ连接到GPIO管脚当GPIO管脚上为高电平时 充电 (内部有电容)当GPIO管脚上为低电平时 放电 来维持ds18b20工作所需要的能量  寄生电源优势:布线简单  驱动程序

2017-03-24 22:40:39 1632

原创 Ehome:智能家居之嵌入式系统升级功能

10、系统功能升级通过网络进行升级:设备给服务器发送版本号,如果小于服务器的版本号,就使用文件操作通过socket网络通信进行文件的复制(下载),PC端需要建立服务器用来打开使用buf缓冲区来进行发送,当接收到开发板的server,然后进行文件覆盖替换(u盘挂载system执行的命令)。通过U盘来实现升级功能:10.1 U盘的手工挂载    #:' ls /dev/sd*

2017-03-23 22:51:52 687

原创 Ehome:智能家居之嵌入式软件项目发布

9、项目的发布  9.1 配置脚本,实现开机自启动      /etc/init.d/rcS: '开机自启动的程序可以放入该脚本      /etc/profile: '全局对所有用户有效的环境变量            开机自启动: $:' vi rootfs/etc/init.d/rcS最后加入 exec /home/etc/rcS $:' vi roo

2017-03-22 19:54:34 849

原创 Ehome:智能家居之手持终端计步器功能实现

8、计步器的功能实现   使用g-sensor实现   // 注意client的添加需要修改编译内核源码。    内核中自带了g-sensor的驱动程序,可以将内核中自带的驱动程序裁剪掉:    $:' make menuconfig        Device Drivers  --->             Hardware Monitoring suppo

2017-03-21 23:16:55 492

原创 Ehome:智能家居之多媒体系统mp3-UI通信界面

智能家居mp3播放加一个简单的GUI界面播放:  1)开启新线程开始播放或者2)  唤醒被暂停的播放线程pthread_cond_signal(&conti);暂停:stat=1 // 状态机修改了播放线程中的output//alsa声卡的暂停,将缓冲区中提提交声卡播放数据全部提交给声卡 snd_pcm_drop(handle);//让播放线程进入睡眠状态,

2017-03-20 22:57:25 887

原创 以任意进制形式打印输出,如六进制

#include //#define NUM_TYPE 6 @编译时指定int main (void) { unsigned int n = 0, y = 0, res = 0; unsigned int cnt = 1; printf ("请输入一个非负数:"); scanf ("%d", &n); while (1) { y = n

2017-03-19 17:55:30 521

原创 TAB键转换为4个空格

#include int isCharTab (char tab) { return (('\t' == tab) ? 1 : 0); }int isStrTab (char* tab) { return (('\\' == *tab && 't' == *(tab+1)) ? 1 : 0); }void fill4Space (char* pDst) { int

2017-03-19 17:48:12 1853

原创 Ehome:智能家居之多媒体系统mp3音频播放

7. MP3功能的实现7.1 基本概念     PCM: 脉冲编码调制          声音是模拟量          计算机能处理的是数字量,涉及模拟量和数字量的相互转换          录音时是模拟量转数字量          播放时是数字量转模拟量     采样频率:          每秒钟抽取声波幅度样本的次数          当采样频率应该在4

2017-03-17 20:40:39 1398

原创 Ehome:智能家居之按键模拟红外实时报警系统 - beep

6. 红外报警功能用按键来模拟红外当按键按下,有人闯入,需要报警报警:beep响 (选择)发一个短信 (gsm) - 需要硬件和协议支持,暂空置。6.1 驱动程序按键驱动// drivers/buttons蜂鸣器驱动建议按照混杂设备的架构完成// drivers/beep6.2 应用程序实时监控,满足条件就报警使用多线程/Qtimer

2017-03-16 21:03:59 1626

原创 Ehome:智能家居之基于USB摄像头的实时视频监控功能

5. 视频客户端5.1 HTTP协议: // http.zip    超文本传输协议,基于TCP的传输通信模型。    通信的双方:        客户端要给服务器端发送request(请求)        服务器端根据客户端的请求回送response(响应)    HTTP是一个'应用层'协议,由请求和响应构成。    HTTP协议是无状态协议。无状态是指协议对于事务

2017-03-15 22:52:07 4330

原创 Ehome:智能家居之基于USB摄像头免驱的视频采集服务器

4. 视频服务器4.1 摄像头的驱动['uvc子系统']: usb video class    内核中自带了满足uvc格式的摄像头驱动,如果你手中的摄像头满足uvc规范,该摄像头就是免驱,只需要对内核进行配置,将uvc模块对应的代码编译到uImage判断摄像头满足uvc格式规范?        #:' lsusb    再将摄像头插入开发板        #:' ls

2017-03-14 23:11:10 1397

原创 Ehome:智能家居之led控制系统

3. LED的控制3.1 LED驱动程序     实质就是一个linux字符设备驱动          $:' cd project     $:' mkdir drivers     $:' cd drivers     $:' mkdir leds     $:' cd leds        // ---> madir drivers/leds -p

2017-03-13 22:04:16 1362

原创 Ehome:智能家居嵌入式项目背景和开发流程

0. 项目背景智能家居的核心技术:【无线通信】         1)zigbee (非常复杂的协议,E802.15.4标准的短距离、低功耗局域网协议 - 紫蜂)            ①低功耗。2节5号电池壳支持1个节点工作6~24个月。            ②低成本。            ③低速率。            ④近距离10~100m。

2017-03-12 20:02:19 2818

原创 Ehome:QT项目移植的开发环境与移植流程

0. 项目背景智能家居的核心技术:【无线通信】         1)zigbee (非常复杂的协议,E802.15.4标准的短距离、低功耗局域网协议 - 紫蜂)            ①低功耗。2节5号电池壳支持1个节点工作6~24个月。            ②低成本。            ③低速率。            ④近距离10~100m。

2017-03-12 19:57:59 712

原创 多线程网络聊天(示范代码)

server 服务器端#include #include #include #include #include #include #include #include #include #define PORT 8848#define BACKLOG 10#define MAXDATASIZE 128#define MAXUSER 9void fuck_filter

2017-03-11 21:35:50 484

原创 Driver:内核等待队列、按键延时去抖、按下和释放去抖、用户态对设备的非阻塞方式访问

1、内核等待队列    recv (...)  // 网卡收到数据该函数立即返回                // 未收到数据阻塞睡眠等待,一旦有数据立即读取        在Linux驱动程序中,可以使用等待队列来实现进程阻塞。    等待队列可以看作保存进程的容器,在阻塞进程时,将进程放入等待队列,当进程被唤醒时,从等待队列中取出进程。实际上,信号量等对进程的阻塞在内核中

2017-03-06 23:36:12 685

原创 【重要】C/C++/嵌入式,必会的理论概念

【C 语言】1、 C 和 C++有什么不同?1)C语言面向过程编程,重程序的实现;C++面向对象编程,重程序的设计;2)C是C++的一个子集;C++全面兼容C;3)C++相对于C引入了重载、内联函数、异常处理、类的封装/继承/多态、以及STL/容器类等…2、进程和线程的异同、关系?       1)进程:是系统资源分配和调度的基本单位,有自己的pid;

2017-03-05 22:05:42 2448

原创 Driver:内核的竞态和并发:中断屏蔽、原子操作、自旋锁、信号量

Linux内核的并发与竞态 《《linux设备驱动 - 第3版》.chm》第5章。    函数的可重入性:        判断一个函数是否有可重入性,关键在于该函数是否使用了全局变量。        如果该函数使用了全局变量,那么该函数不具有可重入性。        多进程访问同一个文件:        文件锁机制实现    共享内存:可以多进程访问,可以使用信号量

2017-03-04 23:43:26 529

原创 Driver:内核定时器

内核定时器    延时5s:5*HZ    系统时钟中断:        arm core会不停的接收系统时钟的中断信号        arch/arm/mach-s5p6818/cpu.c        .timer = &nxp_cpu_sys_timer        voidtimer_initialize(void)        {         

2017-03-04 23:33:16 373

原创 Driver:linux中断处理-按键、中断处理的底半部登记方式

1、linux中断处理 - 按键裸板中按键中断的处理:    1) 按键中断的触发;        中断源级            触发方式的配置:上升沿、下降沿、双沿、高电平、低电平            中断屏蔽/中断使能配置        中断控制器级            IRQ/FIQ            上报给cpuX哪个核           

2017-03-04 23:27:17 1082

原创 Driver:LED灯操作、内核空间和用户空间的数据交互、ioctl函数、设备文件安装与销毁

1、LED灯操作用户空间执行open时,led1亮;执行close时,led1灭。电路原理图:    led1 ---> GPIOC12如何控制:    cpu datasheet 特殊功能寄存器在linux下操作GPIO管脚有两种方式:    1)像裸板开发一样通过'指针 + 位操作'来完成特殊功能寄存器的设置。        问题在于:/* 要将特殊功能寄存

2017-03-04 21:33:09 1295

原创 【最易理解】单向线性链表 & 单链表反序 & 双向链表(完整代码)

"单向线性链表结构体"typedef int ElemType;typedef struct Node { ElemType data; struct Node* next;} Node;typedef struct Node* LinkList;"头插法创建链表 "void CreateListHead (LinkList *L, int n) { Li

2017-03-02 20:53:30 567

JVM-Java内存规范.png

Java-JVM内存规范(详细完整思维导图),包含物理内存与虚拟内存、内核空间与用户空间、java中需要使用的内存组件、jvm内存结构、jvm内存回收策略、JVM参数等...

2020-05-28

MVC模式用JSP实现用户管理(增删改查)核心逻辑图示.png

MVC模式 + JSP + 三层架构设计,实现对用户的登陆、登出、新增(注册)、删除用户、修改用户、查询用户、以及查询所有用户的基本核心逻辑。

2020-05-09

Filter过滤器实现自动登陆核心逻辑.png

Java中Servlet使用Filter过滤器实现自动登陆核心逻辑流程图(基本可以直译代码),特此分享供大家学习交流使用,如有不足之处请私信或者评论纠正。

2020-05-09

空空如也

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

TA关注的人

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