基于物联网的STM32单片机应用与实践

STM32单片机GPIO概述

GPIO是CPU与外部电路和设备连接的基本外设,也就是常说的端口或管脚。本书以STM32F103xx系列单片机中常用的STM32F103VET6为例介绍GPIO的原理及使用。STM32F103VET6拥有80个多功能双向的I/O口,每个口线对应一个管脚,16个口线构成一个端口,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE五个16位GPIO端口。所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号;GPIO可以吸收或输出多达+/-8mA电流;每个通用I/O口均可根据设计选择最大输出速度为10MHz、20MHz、50MHz。图4.1I/O端口位的基本结构
理论教育 2023-11-09

基于物联网的STM32单片机实战:实现ZigBee无线通信

下面以最为复杂的网状拓扑为例来分析ZigBee网络的建立流程。该信道应存在最少的ZigBee网络,最好是没有ZigBee设备。②在ZigBee网络中有两种地址模式:扩展地址(64位)和短地址(16位)。图8.10ZigBee节点通过协调器加入网络流程节点通过已有节点加入网络当靠近协调器
理论教育 2023-11-09

基于物联网的STM32单片机实践:定时器应用与方波输出

定时器功能强大,内容繁多,从《STM32F10xxx参考手册》讲述定时器的内容多达100页以上。使用定时器优点不但定时精度高,而且一旦开启定时器,CPU就可以继续执行其他程序,只有定时时间到,收到定时器中断请求才暂停当前程序,去响应执行中断服务程序。如4.2章节图4.7所示,使用定时器,完成三个LED循环闪亮,间隔1秒,即实现如图4.13所示的方波。图4.13三个LED输出方波时序图源程序代码如下所述。
理论教育 2023-11-09

STM32中的优先级在基于物联网

STM32中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”“副优先级”“从优先级”“子优先级”,每个中断源都需要被指定这两种优先级。Cortex-M3在实现这两种优先级时,提供一种分组机制来分配抢占优先级和子优先级的数量。在STM32F1中指定中断优先级的寄存器位有4位,这4个寄存器位的分组方式如下所述。
理论教育 2023-11-09

STM32单片机RTC时钟工作原理

③2个分离的时钟:用于APB1接口的PCLK1和RTC时钟。但是这个APB1总线并不直接给RTC提供时钟源,它只是提供读写操作的,通过APB1接口可以访问RTC的相关寄存器。而RTC的计数时钟源可以来自于以下三种。图4.31简化的RTC工作框图RTC内核完全独立于APB1接口,软件通过APB1接口对RTC相关寄存器访问。但是相关寄存器只在RTC APB1时钟进行重新同步的RTC时钟的上升沿被更新。
理论教育 2023-11-09

50~100倍现有技术,紫光展锐、华为海思和联发科处领先

NB-IoT网络允许多台设备同时接入,达到现有技术的50~100倍。NB-IoT芯片行业已经初步形成了较为明显的行业层级,通过技术实力、频谱范围、芯片设计、运营商支持、商用程度等方面的综合考量,紫光展锐、华为海思和联发科等企业已位居领先地位,处于第一梯队。
理论教育 2023-11-09

实践:基于物联网的STM32单片机SD卡驱动实现

CMD13:读Card_Status寄存器。读卡命令集CMD16:设置块的长度。CMD18:读多块,直至主机发送CMD12为止。CMD27:写CSD寄存器。擦除卡命令集CMD32:设置擦除块的起始地址。CMD38:擦除所选择的块。查询OCR,获取供电情况。读取CSD,获取存储卡的其他信息发送8CLK后,禁止片选。发送两个字节的伪CRC。
理论教育 2023-11-09

基于物联网的STM32单片机应用-入门实例

本教材使用的是支持STM32F1xx系列的Keil.STM32F1xx_DFP.1.0.5版本芯片支持包。图4.6整理后的STM 32标准外设库结构ASM文件夹:存放\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSu pport\ST\STM32F10x\startup\arm文件夹下所有汇编文件。stm32f10x_it文件夹:存放STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPe riph_Template文件夹下的stm32f10x_it.c、stm32f10x_it.h文件,主要是与中断相关的函数和头文件。System文件夹:存放STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSup port文件夹下的core_cm3.c、core_cm3.h及\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹下的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.文件,一般称为系统文件。
理论教育 2023-11-09

用PWM实现的LED呼吸灯效果

PWM是一种对模拟信号电平进行数字编码的方法。研究基于PWM技术的正负脉宽数控调制信号发生器,具有十分重要的现实意义。这样,STM32最多可以同时产生30路PWM输出!如图4.14所示,使用PWM完成呼吸灯的设计,模拟电机由慢到快,再实现由快到慢循环调速功能。图4.14基于PWM的LED呼吸灯的实现硬件电路编程分析:为了使LED1产生呼吸灯的效果,需要不断调整PWM的占空比,占空比由高到底,由低到高。
理论教育 2023-11-09

STM32单片机感知节点概述

所有物联网中的感知节点都有一个共同的特点,即它们被安装了感知芯片或设备,具有自动感知外部环境变化和通信的能力。感知节点通常包括几个部分。它主要用来为物联网中的各物品建立唯一的身份标示。节点间通过通信网络组成传感器网络,共同协作来感知和采集环境或物体的准确信息。
理论教育 2023-11-09

STM32单片机USART主要特性

⑥LIN主发送同步断开符的能力以及LIN从检测断开符的能力,当USART硬件配置成LIN时,生成13位断开符;检测10/11位断开符。⑧IRDA SIR编码器解码器,在正常模式下支持3/16位的持续时间。USART外设模块有多种标志,具体如下。③四个错误检测标志:溢出错误、噪音错误、帧错误、校验错误。④十个带标志的中断源:CTS改变、LIN断开符检测、发送数据寄存器空、发送完成、接收数据寄存器满、检测到总线为空闲、溢出错误、帧错误、噪音错误、校验错误。
理论教育 2023-11-09

STM32单片机的物联网应用与实践-5.6.1RS232协议

图5.26DB-9连接器与PC机连接方式双向接口只需要3根线制作是因为RS-232的所有信号都共享一个公共接地。非平衡电路使得RS-232非常容易受两设备间基点电压偏移的影响。由于非对称电路的关系,RS-232接口电缆通常不是由双绞线制作的,市场上有标准的串口线。图5.27典型应用电路6.编程RS232协议编程使用USART通信方式,详见USART及其应用章节的内容。
理论教育 2023-11-09

基于物联网的STM32单片机蓝牙通信实践

图8.6HC-05蓝牙通信模块原理HC-05蓝牙通信模块工作过程HC-05嵌入式蓝牙串口通信模块具有两种工作模式:命令响应工作模式和自动连接工作模式。按上述的方法一旦设置成功后,HC-05模块就可把从无线通信接
理论教育 2023-11-09

基于物联网的STM32单片机操作系统应用

EOS负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调、并发等活动。嵌入式系统一旦开始运行,就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。
理论教育 2023-11-09

基于STM32物联网实践:IIC协议应用

①I2C通信双方地位不对等,通信由主设备发起,并主导传输过程,从设备按I2C协议接收主设备发送的数据,并及时给出响应。②主设备、从设备由通信双方决定,既能当主设备,也能当从设备。图5.18I2C总线多主设备结构通信特征:串行、同步、非差分、低速率。图5.19I2C总线通信起始与停止条件数据格式与应答。
理论教育 2023-11-09

独立看门狗概述-基于物联网的STM32单片机应用与实践

独立看门狗由专用的低速时钟驱动,即使主时钟发生故障,它也仍然有效。由图4.32可知,独立看门狗主要由以下部件组成。图4.32独立看门狗结构框图①预分频寄存器及控制的8位预分频器:主要用于将专用的40 KHz的LSI时钟进行分频。特定的键值有特定的用途,例如OxCcCC表示启动看门狗,0xAAAA表示“喂狗”指令,0x5555表示解除写保护指令。表4.14看门狗的溢出时间表注意:这些时间是按照40KHz时钟给出。
理论教育 2023-11-09
-已经加载完成-