- 单片机 架构 程序 经验总结_是单片机高手还是菜鸟?看看你的程序框架就知道了...
weixin_39524147
单片机架构程序经验总结
原标题:是单片机高手还是菜鸟?看看你的程序框架就知道了从大学参加电子设计大赛到现在,在单片机学习的道路上也有几年的摸索了,把自己的一些心得体会分享给大家。初学单片机时,往往都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制,电机控制PWM,中断应用,定时器应用,人机界面应用,CAN总线等.这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU
- 如何学习单片机:从入门到精通的全面指南
嵌入式大圣
学习单片机嵌入式硬件
摘要本文旨在为初学者提供一份系统的单片机学习指南,涵盖了从基础知识到进阶应用的各个方面。文章首先介绍了单片机的基本概念和架构,帮助读者理解单片机的工作原理和常见的单片机型号。接着,文章详细讲解了如何选择适合的单片机及其开发工具,并提供了一些入门和进阶学习的实用建议,如如何熟悉开发环境、掌握C语言编程、使用定时器和中断、以及如何实现串行通信。在进阶部分,文章强调了通过实际项目学习的重要性,建议读者从
- stm32单片机学习 - 参考手册和数据手册
江凡心
stm单片机单片机stm32学习
参考手册和数据手册在学习和应用的时候,有两个官方资料文档经常会用到,一个是参考手册(Referencemannual),另外一个是数据手册(DataSheet)。一句话概括:数据手册主要用于芯片选型和设计原理图时参考,参考手册主要用于在编程的时候查阅。参考手册:对片上每一个外设的功能和使用做了详细的说明,包含寄存器的详细描述。编程的时候需要反复查询这个手册。数据手册:功能概述,主要简述芯片的功能,
- 单片机学习笔记概述
好好学习的不知名程序员
笔记学习单片机
单片机是一种集成了处理器核心、存储器、输入/输出接口等多种功能于一体的微型计算机系统。由于其体积小、成本低、功耗低、易于编程和扩展等优点,单片机被广泛应用于各种嵌入式系统中,如家用电器、工业控制、仪器仪表、汽车电子等领域。一、单片机的详细应用:1.家用电器:单片机在家用电器中的应用非常广泛,如电视、冰箱、洗衣机、空调等。单片机可以用于控制家电的工作状态、温度、湿度等参数,实现智能化控制。2.工业控
- 普中51单片机学习(十四)
Ccjf酷儿
51单片机学习嵌入式硬件
中断系统中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。中断系统结构5个中断源,两个优先级,可以实现二级中断嵌套。中断允许控制EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器
- 普中51单片机学习(十五)
Ccjf酷儿
51单片机学习单片机
实验代码#include"reg52.h"#include"intrins.h"typedefunsignedcharu8;typedefunsignedintu16;sbitled=P2^0;sbitk3=P3^2;voiddelay(u16i){while(i--);}voidInit0Init(){EA=1;EX0=1;IT0=1;}voidInt0()interrupt0{delay(10
- 普中51单片机学习(定时器和计数器)
Ccjf酷儿
51单片机学习嵌入式硬件
定时器和计数器51单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。51单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1。有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1的工作可以交给定时器/计数器处理。CPU转而处
- 普中51单片机学习(六)
Ccjf酷儿
51单片机学习嵌入式硬件
点亮第一个LEDLED相关知识LED,即发光二极管,是一种半导体固体发光器件。工作原理为:LED的工作是有方向性的,只有当正级接到LED阳极,负极接到LED的阴极的时候才能工作,如果反接LED是不能正常工作的。其原理图如下实验代码#include"reg52.h"sbitled=P2^0;voidmain(){while(1){led=0;}}
- 蓝桥杯电子类单片机学习二——DS18B20温度传感器(onewire驱动)
旺仔nai糖
蓝桥杯蓝桥杯单片机学习
目录前言单片机资源数据包_2023(点击下载)一、通过onewire(单总线)驱动DS18B201.关于onewire单总线通信2.关于onewire驱动二、读取DS18B201.ROM检查2.DS18B20命令设置3.DS18B20的温度数据格式三、代码实现前言本系列文章意在帮助各位正在准备蓝桥杯单片机组的同学,提供一个参考与指南,但是所有指南的前提是,默认你已经有单片机基础,本系列文章会提供本
- 蓝桥杯电子类单片机学习四——DS1302实时时钟
旺仔nai糖
蓝桥杯蓝桥杯单片机学习
目录前言单片机资源数据包_2023(点击下载)一、DS1302的驱动与功能1.DS1302的驱动2.DS1302的功能3.DS1302的电路连接二、关于DS13021.DS1302的寄存器2.补充:BCD码3.代码实现三、测试代码前言本系列文章意在帮助各位正在准备蓝桥杯单片机组的同学,提供一个参考与指南,但是所有指南的前提是,默认你已经有单片机基础,本系列文章会提供本人对蓝桥杯单片机组编程方面的一
- 普中51单片机学习(十)
Ccjf酷儿
51单片机学习嵌入式硬件
动态数码管数码管显示原理动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。PS:要学会看芯片资料实验代码#include"reg5
- 普中51单片机学习(十一)
Ccjf酷儿
51单片机学习单片机
独立按键独立按键原理按键在闭合和断开时触电存在抖动现象硬件消抖电路如下实验代码#include"reg52.h"typedefunsignedcharu8;typedefunsignedintu16;voiddelay(u16i){while(i--);}sbitled=P2^0;sbitk1=P3^1;voidkeypro(){if(k1==0){delay(1000);if(k1==0){le
- 普中51单片机学习(十二)
Ccjf酷儿
51单片机学习嵌入式硬件
矩阵按键矩阵按键扫描原理行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。实验代码#include"reg52.h"typedefunsignedchar
- 普中51单片机学习(九)
Ccjf酷儿
51单片机学习嵌入式硬件
蜂鸣器蜂鸣器简介在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。实验代码#include"reg52.h"typedefunsignedcharu8;typedefunsign
- 普中51单片机学习(七)
Ccjf酷儿
51单片机学习单片机
LED闪烁delay函数延时函数voiddelay(unsignedinti)//大约延时10us{while(i--);}实验代码#include"reg52.h"typedefunsignedcharu8;typedefunsignedintu16;voiddelay(u16i){while(i--);}sbitled=P2^0;voidmain(){while(1){led=0;delay(
- 普中51单片机学习(八)
Ccjf酷儿
51单片机学习嵌入式硬件
LED流水灯循环左移右移函数crol(a,b):循环左移函数,a是左移的值,b是左移的位数。包含在instrins.h库函数里面。cror(a,b):循环右移函数,a是右移的值,b是右移的位数。包含在instrins.h库函数里面。实验代码#include"reg52.h"#include"intrins.h"#defineledP2typedefunsignedcharu8;typedefuns
- ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
袁满满满满
51单片机51单片机学习c语言单片机嵌入式硬件开发语言
前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。目录一.延时函数的生成1.通过延时计算器得到延时函数2.可赋值改变的延时函数二.LED模块编写原理1.LED模块图2.编写原理(1)编写原理(2)快捷编程(3)十六进制编程三.具体编写程序1.通过生成没有改写的延时函数2.可赋值延时函数编写四.LED流水灯视频一.延
- 普中51单片机学习(二)
Ccjf酷儿
51单片机学习嵌入式硬件
51单片机介绍所需基础知识基础数模电知识,简单的C语言。PS:如果有不懂的直接通义千问。。。什么是单片机在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。学习方法多实践;学习必要的理论知识;多做项目工程。预备知识电平特性数字电路只有两种电平,高电平和低电平;高电平5V或3.3V,取决于单片机电源;低电平0V;RS232电平:计算机串口电平;高电平12V
- 单片机学习笔记---AD模数转换&DA数模转换
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录AD模数转换XPT2046.cXPT2046.hmain.cDA数模转换main.c上一篇博客讲了AD/DA转换的工作原理,也介绍了运算放大器的工作原理,这节开始代码演示!AD模数转换新创建一个工程:AD模数转换第一个工程将用到LCD1602和Delay函数,所以首先将我们之前讲过的代码模块添加进来然后创建主程序main.c,XPT2046.c,XPT2046.h文件。开始代码讲解:XPT20
- 单片机学习笔记---直流电机驱动(PWM)
Vera工程师养成记
51单片机学习笔记单片机嵌入式硬件学习笔记51单片机mcu物联网
直流电机介绍直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转直流电机主要由永磁体(定子)、线圈(转子)和换向器组成除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等电机驱动电路因为电机是一种功率比较大的负载,如果把它直接接在单片机IO口上,那它肯定是驱动不了的,而且可能会损坏单片机的IO口。所以我们需要在单片机的IO口
- 单片机学习笔记---LED呼吸灯&直流电机调速
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录LED呼吸灯直流电机调速模型结构波形定时器初始化函数中断函数主程序上一节讲了电机的工作原理,这一节开始代码演示!我们上一篇说Ton的时间长Toff时间短电机会快,Ton的时间短Toff时间长电机会慢并且我们还要保证无论Ton和Toff哪个时间比较长,Ts都得是固定值,因为为了保证周期一定。下面我们先做一个“呼吸灯”感受一下上一篇博客中提到的PWM的意义:LED呼吸灯新创建本节第一个工程:LED
- 单片机学习笔记---AD/DA工作原理(含运算放大器的工作原理)
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录AD/DA介绍硬件电路模型硬件电路运算放大器DA原理T型电阻网络DA转换器PWM型DA转换器AD原理逐次逼近型AD转换器AD/DA性能指标XPT2046XPT2046时序AD/DA介绍AD(AnalogtoDigital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号。有时候我们也把AD叫做ADC(C是转换器converter的缩写)。比如说模拟电压,单片机是数字信号,数字信号是只有
- 单片机学习笔记---LCD1602功能函数代码
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录LCD1602.c模拟写指令的时序模拟写数据的时序初始化显示字符显示字符串显示数字显示有符号的数字显示16进制数字显示二进制数LCD1602.hmain.c上一篇讲了LCD1602的工作原理,这一节开始代码演示!新创建工程:LCD1602功能函数代码新创建main.c,LCD1602.c和LCD1602.h文件开始代码讲解:LCD1602.c先根据原理图声明一下这三个控制引脚和八个数据引脚#i
- ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
袁满满满满
51单片机51单片机嵌入式硬件单片机windowsc语言
前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。一.两个主要软件的介绍1.KeiluVision5软件KeiluVision5是一款集成开发环境(IDE),主要用于对嵌入式系统中的微控制器进行编程。该软件提供全面的开发环境,包括源代码编辑器、项目经理、调试器以及微控制器开发、调试和编程所需的其他工具。特别地,Ke
- 51单片机学习日记 | LCD1602黑块和闪烁问题的处理
-以德为邻-
5151单片机学习嵌入式硬件
51单片机学习日记芯片:STM89C516RD+开发板:普中A4学习:By江科大自化协LCD1602模块问题的处理办法:第一行黑块原因是初始化有问题:LCD1602如果没有初始化就会出现第一行黑块,第二行无显示的情况。在网上查了很多方法都无济于事,最后用官方给的例程(可以去普中官网找到对应的百度网盘链接,下载LCD1602实验代码)把封装好的库直接搬过来就能解决了。2.能显示字块,但字块闪烁可能是
- 单片机学习笔记---DS18B20温度传感器
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录DS18B20介绍模拟温度传感器的基本结构数字温度传感器的应用引脚及应用电路DS18B20的原理图DS18B20内部结构框图暂存器内部单总线介绍单总线电路规范单总线时序结构初始化发送一位发送一个字节接收一位接收一个字节DS18B20操作流程指令介绍ROM指令功能指令DS18B20数据帧温度变换温度读取温度存储格式DS18B20介绍DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以
- 单片机学习笔记---AT24C02数据存储
Vera工程师养成记
51单片机学习笔记单片机学习笔记51单片机mcu物联网嵌入式硬件
目录AT24C02数据存储准备工作代码讲解I2C.c模拟起始位置的时序模拟发送一个字节的时序模拟接收应答的时序模拟接收一个字节的时序模拟发送应答的时序模拟结束位置的时序I2C.hAT24C02.c字节写:在WORDADDRESS(字地址)处写入数据DATA随机读:读出在WORDADDRESS处的数据DATAAT24C02.hmain.c上一节讲了AT24C02和I2C相关的工作原理,这一节开始代码
- 单片机学习笔记---蜂鸣器播放提示音&音乐(天空之城)
Vera工程师养成记
51单片机学习笔记单片机学习物联网mcu51单片机嵌入式硬件
目录蜂鸣器播放提示音蜂鸣器播放音乐(天空之城)准备工作主程序中断函数上一节讲了蜂鸣器驱动原理和乐理基础知识,这一节开始代码演示!蜂鸣器播放提示音先创建工程:蜂鸣器播放提示音把我们之前模块化的程序文件添加进来但是这次我们是要静态显示,所以要把Nixie.c文件中这里删掉我们要实现的效果是我们按下按键之后,会出现按键提示音。创建一个Buzzer.c和Buzzer.h文件具体代码解释请看注释:Buzze
- 单片机学习笔记---AT24C02(I2C总线)
Vera工程师养成记
51单片机学习笔记单片机51单片机stm32mcu物联网嵌入式硬件学习
目录有关储存器的介绍存储器的简介存储器简化模型AT24C02介绍AT24C02引脚及应用电路I2C总线介绍I2C电路规范开漏输出模式和弱上拉模式其中一个设备的内部结构I2C通信是怎么实现的I2C时序结构起始条件和终止条件发送一个字节接收一个字节发送应答和接收应答I2C数据帧发送一帧数据接收一帧数据先发送再接收数据帧(复合格式)有关储存器的介绍存储器的简介RAM:随机储存,断电丢失数据,存储比较快。
- 51单片机学习笔记4 -- 蜂鸣器控制
GenCoder
51单片机学习笔记51单片机单片机嵌入式硬件
蜂鸣器控制1.蜂鸣器简介1.分类2.有源蜂鸣器和无源蜂鸣器3.区分有源蜂鸣器和无源蜂鸣器4.蜂鸣器驱动电路2.电路图绘制3.蜂鸣器控制4.程序补充1.蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“H
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不