-
电气特性:工作电压:3.3V-5.5V工作电流:平均0.5mA输出:单总线数字信号测量范围:湿度20~90%RH,温度0~50℃精度:湿度±5%,温度±2℃分辨率:湿度1%,温度1℃其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bi...[详细]
-
在分析2410工程中启动代码的过程中,除了一些常用的汇编如ldr,str,bic等,还有一些很陌生的符号让我们很困惑,到网上一查资料,噢,原来是ARM的一些伪操作。为了在阅读启动代码的过程中不会出现很大的阅读与理解障碍,就总结了启动代码中用到的伪操作以供熟悉和查阅PS:这里说一下自己对汇编指令的看法,感觉就如英语单词似的,在进行阅读之前必须具备一些词汇量,但不需要精记,因为精记的...[详细]
-
老师出的练手的题,在原来的函数发生器基础上增加了ADC功能。依然使用DMA传送,每次传送16个数据完成后进中断,标记ADC_Ok然后main中进行一个简单的软件滤波,最后送液晶显示,完成后要重新开启DMA。R2我这次用的是10K的电压范围是可以从0开始的而公式是Vo=1.25(1+R2/R1)。感觉这是因为只要给ADJ一个参考电压便可以使LM317有值输出的。保证R1...[详细]
-
特殊符号对应指令含义=DCB分配一片连续的字节存储单元并用指定的数据初始化&DCD分配一片连续的字存储单元并用指定的数据初始化%SPACE分配一片连续的存储单元^MAP定义一个结构化内存表的首地址#FILED定义一个结构化内存表的数据域(经常和MAP一使用,一个定义起始地址,一个定义长度)*EQU为程序中的常量、标号等定义一个等效的字符名称,!...[详细]
-
1.环境介绍如果创建项目请看第2篇led闪烁.ESP8266实现开关功能。这里利用线程获取gpio的状态.从而控制led灯亮或灭2.软件消抖关于led灯的控制和GPIO口状态的读取在第2篇中都有介绍了,这里主要处理软件消抖软件消抖的原理是,当获取到按键按下的状态时。延迟20ms再获取一次状态,当第二次的状态同样为按下时。就判断为没有抖动了。即为按下状态。最后等待...[详细]
-
按键的话非常简单,定义一个函数,然后可以直接在主函数里实现,要确认好自己的蓝牙就可以,波特率也要一致才行。intmain(void){delay_init();LED_Init();Key_Init();uart_init(9600);while(1){keys();}}摇杆的话,需要用到ADC算法,下面会分享一个ADC搜集数据的...[详细]
-
在很多场合,由于客观条件限制,人们不可能进入现场进行直接观察,只能用适应性更强的电子图像设备来代替完成,在此背景下发展起来的图像技术成为人们关注的热点应用技术之一,它以直观、信息内容丰富而被广泛应用于许多场合。在物联网系统中实现图像采集,必须要考虑物联网的以下特点:(1)物联网节点对价格敏感。物联网是信息传感技术的大规模应用,传感节点数目成百上千,若每个节点的成本提高一点,整个物联网...[详细]
-
复位AVR复位时所有的I/O寄存器都被设置为初始值,程序从复位向量处开始执行。对于ATmega168复位向量处的指令必须是绝对跳转JMP指令,以使程序跳转到复位处理例程。对于ATmega48与ATmega88复位向量处的指令必须是相对跳转RJMP指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。这个处理方法同样适用于复位向量位于应...[详细]
-
Thumb指令在相比于ARM指令具有更高的代码密度,但是在运行效率上略低于ARM指令集,而且Thumb只是ARM指令集的一个子集。所有的ARM指令都是可以条件执行的,而Thumb指令仅有一条指令具备条件执行功能。所以很多应用程序需要两者的混合编程,因此存在ARM与Thumb状态之间相互切换,而且相互之间的状态切换的开销几乎为零。ARM与Thumb之间的状态切换通过专用的转移交换指令BX来实现。B...[详细]
-
首先简介ADISl6355AMLZ型MEMS的原理、构成及应用。在此基础上,搭建一个硬件平台,采用内置USB控制器的AT89C513lA型单片机作为主控制器,控制ADISl6355AMLZ并采集、存储数据。并对惯性测量组件系统进行数据采集设计。经测试,该系统达到了预期设计要求。运动目标跟踪测量、视频监控等各种实时测量系统在工业、生活中应用日益广泛。然而在这些系统中存在一个共同问题;如何保持摄...[详细]
-
对于嵌入式开发而言,Bootloader几乎与操作系统同等重要,它可以让我们摆脱MCU官方工具,定制自己的烧录工具,不仅提高产品辨识度,同时也大大减少了对外引脚数量(例如兼容通信的Uart或CAN等,而不需要另外接JTAG)。要开发Bootloader,相对于普通程序,是有一定难度的,这其中涉及到MCU的工作原理、内部存储结构等,而且仅仅依靠C语言可能无法完成,有时需要配合汇编来精确执行特...[详细]
-
在我们了解libopencm3的使用后,发现libopencm3只适用于小型工程,其最大的特色只是在USB方面的使用方便,那么在我们配置大型工程的时候有没有一种更快捷的方式呢,显然是有的。它就是CubeMX,ST官方出的神器,可以使得我们像配置FPGA一样配置STM32的功能。CubeMX早期是运行在windows下的,但由于是Java写成的它也可以同样的运行在Linux环境中。安装JAV...[详细]
-
Qualcomm稍早更新Snapdragon600系列与400系列处理器,分别推出Snapdragon618、Snapdragon620、Snapdragon425与Snapdragon415,其中新款600系列处理器均导入ARMCortexA-72架构与新款对应300Mbps下载速度的X8LTE数据晶片,另外也搭载800系列处理器所支援4K录影、QuickCharge2...[详细]
-
#includeUART.H/*-------------------------串口初始化函数------------------------*//************************************************************ 函数名称:voidUART2_Init(void)** 功能描述:UART2初始化函数** 参数列...[详细]
-
a)目的:基础PWM输出,以及中断配合应用。输出选用PB1,配置为TIM3_CH4,是目标板的LED6控制脚。b)对于简单的PWM输出应用,暂时无需考虑TIM1的高级功能之区别。c)初始化函数定义:voidTIM_Configuration(void);//定义TIM初始化函数d)初始化函数调用:TIM_Con...[详细]