自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 用HttpURLConnection访问网络

本次要实现的功能为 1.用HttpURLConnection接收网络数据 2.用HttpURLConnection发送数据给网络,并获得网络响应的数据。1.流程:用HttpURLConnection接收网络数据 第一步: 新建一个子线程来写通信代码 第二步: 用URL类处理访问地址 第三步: 用URL类里的openConnection()方法建立网络连接

2016-12-18 21:48:08 683

原创 AndroidWIFI的基本实现

AndroidWIFI需要知道的WIFI状态以及WIFI权限:WIFI网卡的状态: 1.WIFI_STATE_DISABLED //WIFI网卡不可用 2.WIFI_STATE_DISABLING //WIFI网卡正在关闭 3.WIFI_STATE_ENABLED //WIFI网卡可用 4.WIFI_STATE_ENABLING //WIFI网

2016-12-13 22:55:43 740 2

原创 Android音频和震动的基本实现

Android为音频和震动功能提供了两个类: MediaPlayer 播放器类 Vibrator 震动类实现效果:打开应用时,播放一段音乐并且震动 (这里没有用按键做操作停止播放,继续播放,可以使用MediaPlayer.start()以及MediaPlayer.pause()做播放和暂停(暂停这里需要记录播放的时长))音频流程 inits(): 零.在res目录下创建ra

2016-12-07 21:47:58 902

原创 Android GPS使用

Android中的LocationManager提供了一系列方法来处理地理位置相关的问题 通过getLastKnownLocation(String provider)以及requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)方法可以获取到当前位置此类提供

2016-12-05 22:42:51 578

原创 Android基本游戏循环

开始前必须知道的知识: 视觉暂留 视觉暂留现象即视觉暂停现象(Persistence of vision,Visual staying phenomenon,duration of vision)又称“余晖效应”. 1824年由英国伦敦大学教授皮特‘马克’罗葛特在他的研究报告《移动物体的视觉暂留现象》中最先提出. 人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视

2016-12-04 11:33:58 305

原创 Android使用DefaultHttpClient访问要登录的网络

用DefaultHttpClient访问要登录的网络有时候,有一些网站不光是浏览,还需要登录才能访问某些版块,这里就涉及了session\cookie等问题. Android中提供了一个DefaultHttpClient类来解决登录和访问的接口问题DefaultHttpClient访问这类性质的网络数据步骤如下: 第一步 调用DefaultHttpClient类 第二步 新建一个子线程来

2016-12-23 01:06:48 1484

原创 用SQLiteOpenHelper类存储数据

Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类 SQLiteOpenHelper创建的数据库所在位置是在: 手机内存盘里的根目录下/data/data/应用软件包名/databases/SQLiteOpenHelper类的应用: 流程: 一.创建数据库 二.关闭数据库(在页面关闭的时候使用)

2016-12-02 21:57:28 663

原创 用SQLiteDatabase类存储数据

SQLite简介: SQLite是用C语言写的小型嵌入式关系型数据库.占用资源非常低,在嵌入式设备中,只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合.安卓系统里自带SQLite数据库.SQLite支持任意类型的数据,常用的数据类型有:integer(整数)、real(小数)、text(文字)、blob(任意类型)、NULL(

2016-12-02 00:26:53 485

原创 用json方式存储数据

SON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等), 这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速

2016-11-30 00:09:48 2355

原创 使用pull解析用xml方式存储的数据

xml数据格式通常有3种解析方式:dom,sax,pull,现在一般用pull方式,pull是安卓内置的解析器.使用pull解析用xml的话,xml文件是一层层节点往里剖析的,例如下面的xml,从进入xinxi节点开始,一直往里剖析节点,并根据用户自己的条件判断得到相应的数据 (这里的lianxiren在下面的代码中是被dianhuaben替换了)流程: 1.调用ja

2016-11-28 21:27:15 431

原创 使用Xml文件格式存储数据

xml数据格式: 存储格式是以节点为主,一个节点衍生出另外的子节点(比如name和phone节点属于lianxiren,lianxiren节点属于xinxi)存储流程(生成xml数据格式): 1.通过DocumentBuilderFactory获得DocumentBuilder 2.创建Document接口进行DOM转换 3.建立数据节点 4.把数

2016-11-27 21:18:42 3085

原创 使用javaIO流往SD卡里存储数据:

用javaIO流写数据到SD卡上 流程: 一.判断sd卡是否存在 二.获得sd卡的路径 三.调用javaIO流 四.用javaIO流把数据写到sd卡上 五.关闭javaIO流 六.在Androidmanifest.xml下添加读写sd卡权限(在application标签外)<uses-permission android:name="an

2016-11-27 17:18:43 566

原创 Android实现定制桌面

实现定制桌面: 在App的主MainActivity里面获取系统所有App并且使用GridView显示出来创建Android项目 5.1系统 项目名为:AndroidCusyomDesktopDemoXML文件: 一.在MainActivity(使用线性布局,纵向)里创建一个GridView控件< GridView android:id="@+id/gv_mainshow"

2016-11-25 21:40:41 782

转载 程序员眼里的高并发架构

前言 高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。 为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。服务器架构 业务从

2016-11-13 00:43:38 401

转载 Android Studio 2.2 来啦

今年的 I/O 2016 Google 放出了 Android Studio 2.2 的预览版,改进了多项功能,只不过为了保证公司项目不受影响,我一般都不安装预览版的,因为预览版意味着不稳定,可能遇到各种意想不到的坑,昨天,Google 终于发布了 Android Studio 2.2 的正式版,于是赶紧第一时间体验了下,按照 Google 的说法本次更新包含了三个方面:speed, smarts,

2016-09-21 10:40:59 304

转载 RTOS与linux区别

一句话解释: linux是分时系统,不过可以通过配置内核改成实时。 嵌入式Linux 系统是在原来Linux的发行版本之上进行了优化和改进的,用于嵌入式的移动终端等设备的嵌入式Linux系统现在基本上都是实时性较高的,但有些LiNUX系统还是分时系统,实时操作系统  实时操作系统   英文称Real Time Operating System,简称RTOS。   1.实时操作系统定义

2016-09-20 17:40:27 18972

转载 Android 开发中调用google语音接口

最近项目开发中需求中要采用多种的输入方式,于是乎想起google的语音搜索做了一下尝试,做了一个简单的语音识别的demo,总结起来,大致的过程如下: 一、检查Androird手机上是否装上了google的语音搜索(一般Android的手机都会自带,没有的话需要你自己手动下载) [java] view plain copy PackageManager pm = getPackageManage

2016-09-20 16:59:04 1755

转载 linux BSP开发指导

引言嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系统在不同的硬件平台上有效地运行,是嵌入式系统开发中需要解决的关键问题。解决的方法是在硬件平台和操作系统之间提供硬件相关层来屏蔽这些硬件的差异,给操作系统提供统一的运行环境,这种硬件相关层就是嵌入式系统中的板级支持包

2016-09-19 15:13:59 888

原创 STM32之RTC实时时钟

RTC实时时钟简介: STM32的RTC外设,实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断).但是从掉电还能继续运行来看,它是STM32中唯一一个具有这个功能功能的外设.(RTC外设的复杂之处不在于它的定时,而在于它掉电还可以继续运行的特性) 所谓掉电,是指电源Vpp断开的情况下,为了RTC外设掉电可以

2016-08-12 22:25:35 42537 7

原创 STM32之定时器(实例)

PWM输出实例: PWM在电力电子技术中占据着重要的地位,被广泛地用在逆变电路之中。利用STM32定时器的PWM输出功能,可以直接获取PWM波。根据面积等效原理,利用规则采样法、查表法可以调制出SPWM波及各种调制PWM波形。 这里实现的是输入占空比固定的PWM波形 PS: 通用定时器TIM3产生4路不同占空比的PWM波。(仅仅适合本实例)) TIM

2016-08-09 21:48:08 5853

原创 STM32之定时器

定时器功能简介: 相对于SysTick这种一般只用于系统时钟的计时定时器,STM32的定时器外设功能是非常强大的.(仅在《STM32参考手册》中对定时器的介绍就已经占了100多页) STM32一共有8个都为16位的定时器.其中TIM6,TIM7是基本定时器,TIM2,TIM3,TIM4,TIM5是通用定时器,TIM1和TIM8是高级定时器,这些定时器使STM32具有定时,信号的频率测量,信号的P

2016-08-09 21:41:06 2485 1

原创 STM32之SPI_FLASH(实例)

本实例用的是STM32F103VET6平台,它有3个SPI接口(这里使用SPI1),各信号线连接到FLASH(型号:W25X16)的CS,CLK,DO,DIO线,以实现SPI通讯,对FLASH进行读写. (这里采用主模式,全双工通讯,通过查询发送数据寄存器和接收数据寄存器状态确保通讯正常) mian函数: 1#define sFLASH_ID 0xEF3015(前面加个1,免得变大) u32

2016-08-06 21:58:36 21629 1

原创 STM32之SPI_FLASH

SPI的简介: SPI协议(Serial Peripheral Interface),即是串行外围设备接口,是一种高速全双工的通信总线,它是由摩托罗拉公司提出的,他被广泛的使用在ADC,LEC等设备与MCU间通讯的场合.SPI信号线: SPI总线包含4条总线,分别是为SS(PS:这里用SS代替,起始还有一个非号—在顶上),SCK,MOSI,MISO。 SS(Slave select)

2016-08-05 18:21:41 1597

原创 STM32之I2C_EEPROM读写

EEPROM的数据组织形式: EEPROM设备把它的存储矩阵进行了分页处理: 型号是AT24C02的EEPROM分为32页,每一页可以存储8个字节的数据,若在同一页写入超过8字节,则超过的部分会被写在该页的起始地址(也就是一开始写好的部分会被覆盖). 为了把连续的缓冲区数组按页写入到 EEPROM ,就需要对缓冲区进行分页处理.I2C_EE_BufferWrite()是根据输入的缓冲区大小参数

2016-08-02 23:16:45 9901

原创 STM32?I2C-EEPROM

I2C????: I2C(inter-integrated Circuit)????Phiilps?????,???????,??????,?????(??USART,CAN???????),??????????????????(IC)?????. (??I2C????,?????I2C?????????) ???: 1,????????,?????????(SDA)

2016-08-02 00:24:17 2034 1

原创 STM32之ADC_3(内部通道)

ADC的内部通道: STM32的ADC除了可以用外部通道来采集外部模拟电压信号之外,还有两个内部通道16和17。其中通道16是连接至芯片上的温度传感器,通道17是连接至内部电源模块.(所以这两个通道可以用来检测STM32芯片d额温度和电源状态,就可以检测芯片运行的状态啦!)温度检测实例: 通道16是把内部温度传感器输出的模拟电压转换成数字值,通过公式运算我们就可以得到温度值.内部温度

2016-07-29 18:37:07 5899

原创 STM32之ADC_2(DMA实例)

实例分析:(采用DMA模式)mian函数: extern __IO u16 ADC_ConvertedValue;//ADC转换的电压值,是在ADC1_Init()所属的文本中定义的 float ADC_ConvertedValueLocal;//用来保存转换计算后的电压值 int main(void) { USART1_Config(); //串口配置

2016-07-27 21:32:35 13540 1

原创 STM32之ADC_1

STM32的ADC的简介: ADC(Analog to Digital Converter),模/数转换器。在模拟信号需要以数字形式处理、存储或传输时,模/数转换器几乎必不可少。 STM32在片上集成的ADC外设非常强大。例如STM32F103xC 、STM32F103xD和STM32F103xE增强型产品,内嵌3个12位的ADC,每个ADC共用多达21个外部通道,可以实现单次或多次扫描转换。

2016-07-24 21:51:02 2723

原创 STM32之DMA(直接存储器存储)

DMA简介: 在硬件系统中,主要由CPU(内核),外设,内存(SRAM),总线等结构组成,数据就经常要在内存与外设之间传输转移,或者是从外设A转移到外设B. DMA(Direct Memory Access)直接存储器存储,是一种可以大大减轻CPU工作量的数据存储方式. 数据转移的一般方式: 例如当CPU需要处理由ADC外设采集回来的数据时,CPU首先要把数 据从ADC外设的寄存器读取到内

2016-07-19 22:41:06 6498 1

原创 STM32之USART(串口通信)

如果你看过《STM32的中文手册》,你会发现STM32的串口是非常强大的,不仅支持最基本的通用串口同步,异步通讯,还具有LAN总线的功能(局域互联网),IRDA功能(红外通讯),SmartCard功能异步串口通讯协议: 这里介绍的是串口最基本,最常用的方式,全双工,异步通讯方式. 通过串口的通讯协议,我们知道要配置串口通讯,至少要配置几个参数: 字长(一次传送的数据长度); 波特率(每秒传输

2016-07-16 01:55:29 13299 2

原创 STM32之SysTick(系统定时器)

SysTick定时器是被捆绑在NVIC中的,用于产生SysTick异常(异常号是15)。(同样,玩过51单片机的都知道定时器的作用了)在STM32在内核部分是包含了一个简单的定时器–SysTick timer。因为在所有的Cortex-M3芯片上都有这个定时器,所以软件在不同芯片生产厂商的Cortex-M3器件间的一只工作就得以化简。 该定时器的时钟源可以是内部时钟( FCLK, CM3 上的自由

2016-07-14 20:35:38 6219 1

原创 STM32之中断(按键)

下面将以一个按键实例来说说外部中断的配置方式一个程序的中断流程:配置外部中断(包括GPIO和EXTI)->配置NVIC(分组及优先级)->编写中断服务函数第一步: 配置外部中断: void EXTI_PE5_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; //具体的GPIO可以查看之前的博客 EXTI_InitType

2016-07-13 02:16:59 2577

原创 STM32之EXTI(中断)

什么叫中断?(学过51单片机的肯定不陌生!!) EXTI(External interrupt)指的是外部中断,通过GPIO检测输入脉冲,引起中断事件,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后,再返回到之前中断的代码继续执行stm32的中断和异常(在stm32中,所有的GPIO都可以用作外部中断源的输入端) 在stm32的中断向量表是重新进行编排的,(Cortex

2016-07-10 00:30:39 1373

原创 STM32 GPIO_2 8种工作方式

在上一篇博客中有说过GPIO的工作模式是需要自己根据项目硬件需求配置的,分别是4种输出,4种输入 这8种工作模式的定义都可以在库里面找到定义四种输入: GPIO_Mode_IPU(上拉输入) GPIO_Mode_IPD(下拉输入) 简述原理: 经过上拉开关和下拉开关的连接,再经过触发器转化为0,1的数字信号,存储到数据寄存器中,然后我们就可以通过配置寄存器CRL,CRH控制这两个开关。

2016-07-08 00:53:44 568

原创 STM32 之GPIO

学习嵌入式开发的都知道STM32这个熟悉的不能再熟悉的单片机了,不管是在校的学习或者是工作项目上,它都很好的充当了这个角色。在此,我就分享一下我学习STM32时的技术经验,希望可以帮到大家学习STM32.什么是库开发??学过51单片机的都知道,要控制51芯片的工作方式(中断,定时等)在配置的时候,我们都要去查阅datasheet里面的寄存器表,看看使用了哪些配置位,要配置某功能的时候,要看看是该置1

2016-07-06 01:56:02 575

原创 嵌入式之旅

出来工作快1年了,在这里分享一下我这些时间的工作感想吧(往后会分享技术)我们公司是做智能家居的,提供方案,提供工程,提供维护,就是典型的三包公司啦!!我在里面负责的是客户端的开发,主要是ios平台我是电子信息工程系的,刚开始接触写应用的时候,总是把我自己的需求当作是客户的需求,走了不少弯路,后来有一次客户回了一句,你究竟是给你自己开发还是帮我开发???,接着我就懵了!!后来在公司前辈的教导下,我开始

2016-07-05 02:09:47 290

原创 关于嵌入式分享技术

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-07-05 02:05:53 341

空空如也

空空如也

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

TA关注的人

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