MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化. MS5837采用I2C总线通讯,与STM32的MCU可以实现I2C通讯.硬件连接方式如下: MS5837只有5个基本命令:复位.读取出厂校准值.数据1转换(压力值数据).数据2转换(温度值数据)和读取ADC的转换结果.具体分配如下: 因为MS5837的地址是固定的,所以一个I2C总线只能挂1个MS5837模块.…
在这次项目开发中应用到了SHT1X温湿度传感器,该系列有SHT10.SHT11和SHT15,属于Sersirion温湿度传感器家族中的贴片封装系列.包括一个电容性聚合体测湿敏感元件.一个用能隙材料制成的测温元件,传感器内部有一个精度高达14为位的A/D转换器.更详细资料请参考说明书. 1.硬件介绍 现在对本次使用的SHT15作简要介绍.其引脚定义如下: 引脚 名称 描述 1 GND 地 2 DATA 串行数据, 双向 3 SCK 串行时钟, 输入口 4 VDD 电源 NC NC 必须为空 SHT…
原文:C语言库函数大全及应用实例六                                              [编程资料]C语言库函数大全及应用实例六 函数名: getlinesettings 功 能: 取当前线型.模式和宽度 用 法: void far getlinesettings(struct linesettingstype far *lininfo): 程序例: #i nclude #i nclude #i nclude #i nclude /* the names o…
I2C接口是一种使用非常普遍的MCU与外部设备的接口方式,在STM32中也集成了I2C接口,我们也常常使用它来与外围的传感器等设备通讯. 最近在我们使用STM32F1VET6读取压力和温湿度传感器数据时,就是使用I2C接口来实现通讯的.但在使用I2C和STM32F1的标准库读取数据时出现了死机的现象.其现象是这样的,程序可以顺利的运行,但I2C没有数据返回.用示波器查看波形时,发现SCL的电平时钟为高,而SDA的电平时钟为低.如果拔掉对应的设备,SCL的波形则恢复正常.接上设备恢复正常,但运行一…
MS5803压力传感器支持SPI和I2C总线通讯,拥有24位AD转换.能够同时获得压力值和温度值,其中压力测量范围为10-1100mbar,温度的测量范围是-40-85摄氏度.各引脚功能及参数如下: 传感器内部结构图如下: 通讯协议的选择通过PS引脚来设置: PS引脚电位 通讯模式 使用的引脚 高电平 I2C SDA, SCL, CSB 低电平 SPI SDI, SDO, SCLK, CSB 在SPI模式下,SCLK作为外部输入时钟,SDI作为串行数据输入,支持Mode0和Mode3的时钟极性和…
系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难度并不高,但是理解起来还是比较复杂的,我会在本文中从实际应用出发去说明,当然最好去仔细研读宋岩翻译的<Cortex-M3权威指南>第八章,注意这不是一本教你如何编写STM32代码的工具书,而是阐述Cortex-M3内核原理的参考书,十分值得阅读. SysTick系统时钟的核心有两个,外设初始化和S…
https://www.cnblogs.com/evablogs/p/6783498.html 题目:斐波那契数列. 程序分析:这个数列从第3项开始,每一项都等于前两项之和.故 n=1,2,f=1 n>2,f=f(n-1)+f(n-2) 例如:1,1,2,3,5,8..... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 >>> def f6(n):     if n==1 or n==2:         ret…
http://www.jquery001.com/asp.net-mvc3-instance-add-update-delete2.html 上篇我们在 ASP.NET MVC3 中实现了添加操作,由于时间关系没有完成修改.删除操作,我们新建了一个名为"Contact"的 Controller,并实现了添加方法,下边就让我们在此基础上来完成 ASP.NET MVC3 中的修改和删除操作. 首先,我们在 Contact 控制器类中添加一个名为 View()的方法,用来从 Contact…
最近我们在开发一个项目时,用到了MCU自带的ADC,在调试过程中发现通道之间村在相互干扰的问题.以前其实也用过好几次,但要求都不高所以没有太关注,此次因为物理量的量程较大,所以看到了变化. 首先来说明一下此次的软硬件环境,MCU采用的是STM32F103VET6,ADC采用自带的ADC1,使用通道6和7.在软件方面,我们使用版本为1.4的HAL库,使用DMA方式采集. 接下来,我们描述一下现象.在下边有两幅截图,左边是只给第二路输入为100%时输入显示99.962%.而右边的图是在第一路输入也添…
最近我们在开发臭氧发生器时,需要监测生成的臭氧的浓度,于是想到使用光度计来测量.因为不同浓度的臭氧对管的吸收作用是不相同的,于是检测光照强度的变化就可以得到相应的浓度数据. 1.硬件设计 此次光照度检测我们选用了S1336-5BQ光电点二极管,其光谱响应范围为:190~1100nm范围.而我们的光源波长则在254nm最显著,包括其它600nm以内的光波,这个好处于测量范围之内. 根据相关的资料,光电点二极管S1336-5BQ的每100lx的光照对应有5μA的电流.于是我们可以据此设计一个电路,将…
在开发臭氧发生器的时,我们需要一个高分辨率的AD采集,于是选择了AD7192,选择这款ADC的原因比较简单.首先它是24位的符合我们的精度要求:其次它自带时钟,便于节省空间:第三他又4路单端或2路差分输入,与我们需要三路采集相符. 1.AD7192简介 AD7192是一款适合高精密测量应用的低噪声完整模拟前端,内置一个低噪声. 24 位Σ-Δ型模数转换器 (ADC).片内低噪声增益级意味着可直接输入小信号. AD7192可配置为两路差分输入或四路伪差分输入.片内通道序列器可以使能多个通道,AD7…
宇电的设备使用基于RS-485的自定义协议,协议本身比较简单,只有2条指令: 读:地址代号+52H(82) +要读的参数代号+0+0+校验码 写:地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码 校验码采用 16 位求和校验方式,其中读指令的校验码计算方法为:要读参数的代号×256+82+ADDR. 写指令的校验码计算方法为以下公式做 16 位二进制加法计算得出的余数(溢出部分不处理):要写的参数代号×256+67+要写的参数值+ADDR. 返回的数据格式更是固定的,…
先来看看效果: 对于前端分页,关键是思路,和分页算法.本想多说两句,可又觉得没什么可说的,看代码吧: 如何使用? $("#pging").zPagination({ 'navEvent':function(){ console.log('取数据Ajax'); } }); JS代码 //分页Pagination ; (function ($, window) { var defaults = { rowCount: 400, //总数据行数 navPage: 10, //每次显示多少页导…
使用I2C外设通讯时,在通讯的不同阶段它会对“状态寄存器(SR1 及SR2)”的不同数据位写入参数,通过读取这些寄存器标志来了解通讯状态. 1.主发送器 可使用STM32标准库函数来直接检测这些事件的复合标志,降低编程难度. • 控制产生起始信号(S),当发生起始信号后,它产生事件“EV5”,并会对 SR1寄存器的“SB”位置1,表示起始信号已经发送: • 发送设备地址并等待应答信号,若有从机应答,则产生事件“EV6”及 “EV8”,这时SR1寄存器的“ADDR”位及“TXE”位被置1,ADDR…
最近在调研STM32 F10X,准备把公司AVR的MCU项目迁移到STM32上.在调研STM32 i2c这一部分时,在与i2c slave硬件连接断开后,这时再去读/写 i2c slave需要STM32这边的i2c_read/write函数做一些处理. 刚开始在i2c读写timeout后,添加了如下代码: I2C_AcknowledgeConfig(I2C1, DISABLE); /*!< Send STOP Condition */ I2C_GenerateSTOP(I2C1, ENABLE)…
stm32的GPIO的配置模式有好几种,包括: 1. 模拟输入: 2. 浮空输入: 3. 上拉输入: 4. 下拉输入: 5. 开漏输出: 6. 推挽输出: 7. 复用开漏输出: 8. 复用推挽输出 如图是GPIO的结构原理图: 1.模拟输入 就是1,而模拟输入信号不符合这一要求,所以自然不能放进输入数据寄存器.该输入模式,使我们可以获得外部的模拟信号. 2.浮空输入 该输入状态,我的理解是,它的输入完全由外部决定,我觉得在数据通信中应该可以使用该模式.应为在数据通信中,我们直观的理解就是线路两端…
1.命名规则 2.#pragma pack使用 #pragma pack 1保证字节对齐 置结构体的边界对齐为1个字节,也就是所有数据在内存中是连续存储的struct s{    char ch;    int i;};char 1个字节   int 4个字节若不加#pragma pack ,则占内存4+4=8个加上#pragma pack, 则占内存4+1=5个字节 3.GPIO的配置 4种输入模式:输入浮空.输入上拉.输入下拉.模拟输入 4种输出模式:开漏输出.开漏复用功能.推挽式输出.推挽…
浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了.  开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.  推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻. (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING…
stm32的GPIO的配置模式有好几种,包括: 1. 模拟输入: 2. 浮空输入: 3. 上拉输入: 4. 下拉输入: 5. 开漏输出: 6. 推挽输出: 7. 复用开漏输出: 8. 复用推挽输出   如图是GPIO的结构原理图:     1.模拟输入   从上图我们可以看到,我觉得模拟输入最重要的一点就是,他不经过输入数据寄存器,所以我们无法通过读取输入数据寄存器来获取模拟输入的值,我觉得这一点也是很好理解的,因为输入数据寄存器中存放的不是0就是1,而模拟输入信号不符合这一要求,所以自然不能放…
转载自原子的论坛: 浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了. 开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了. 推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻. (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_F…
浮空,顾名思义就是浮在半空,输入直接与寄存器挂钩: 开漏,输出0的时候 PMOS管导通IO输出Vdd,输出1的时候 NMOS管导通IO输出Vss(Cmos场效应管): 推挽,输出时候电平确定,同样使用MOS管: 上拉.下拉:就是字面意思也可参考 http://www.cnblogs.com/luckytimor/p/7168425.html 在STM32实际使用中选用IO模式 (1) 浮空输入_IN_FLOATING --浮空输入,可以做KEY识别(需要上或下拉电阻),RX1 (2)带上拉输入_…
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小.效率高.输出既可以向负载灌电流,也可以从负载抽取电流.推拉式输出级既提高电路的负载能力,又提高开关速度. 二.开漏输出:输出端相当于三极管的集电极,要得…
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻.         推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小.效率高.输出既可以向负载灌电流,也可以从负载抽取电流.推拉式…
目录SAIU R20 1 6 第1页第1 章. 初识STM32...................................................................................................................... 11.1. 课前预习..........................................................................................…
该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小.效率高.输出既可以向负载灌电流,也…
PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");mysql_select_db('test',$conn);$sql = "create procedure myproce()beginINSERT IN…
实际例子: 实例一: 不得不说下第一个例子,谢谢selenium论坛的大神门,XPATH还有这种方式的定位,传说是“治疗一切跌打损伤,及text找不到”(Antony群友帮解决的,在此谢谢)…
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. jar和源码下载地址: http://code.google.com/p/google-gson/downloads/list 实体类: public class Student { private int id; private String name; private Date birthDay; public int …
PHP调用MYSQL存储过程实例 http://blog.csdn.net/ewing333/article/details/5906887 http://www.cnblogs.com/kkcheng/archive/2010/03/19/1689672.html http://hi.baidu.com/dreamontheway/item/8041f26ad5070131ad3e8346 实例一:无参的存储过程 $conn = mysql_connect('localhost','root'…
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. jar和源码下载地址: http://code.google.com/p/google-gson/downloads/list 实体类: public class Student { private int id; private String name; private Date birthDay; public int…