STM32 定时器实现红外遥控数据接收


一、原理
1、红外发射协议
红外通信的协议有很多种。这个实验使用的是NEC协议。这个协议采用PWM的方法进行调制,利用脉冲宽度来表示 0 和 1 。
一、原理
1、红外发射协议
红外通信的协议有很多种。这个实验使用的是NEC协议。这个协议采用PWM的方法进行调制,利用脉冲宽度来表示 0 和 1 。
开关机功能是使用电池供电系统的最基本功能。如果使用机械式开关(2段拨动开关,自锁开关等)等直接接通和切断电源,不说机械部件的可靠性,至少自动关机(一般在长时间不操作、电池电量低时需要自动关机)功能就比较难实现。所以电池供电系统一般采用按钮开关,用一个按钮配合软件实现按一次开机、再按一次关机的功能及自动关机的功能。
这部分内容就讲述如何在上实现一键式的开关机功能。开关机功能要使用单片机的一个引脚(PD4)作为输入端,连接到按钮,接收按纽按下产生的电信号,然后再使用另一个引脚(PD3)作为输出端去驱动由三极管8550构成的一个电子开关实现对系统电源的控制。而STM8S单片机本身就直接接在电池上,利用单片机的停机模式,将单片机本身的电流降低到μA级,对电池的消耗就可以忽略不计了。
1、电路设计
电路图如下,C1是STM8S单片机VCAP电容,保持内部1.8V电压的稳定,是STM8S单片机唯一必须接要的外部元件,选用容量为1μF的瓷片电容,而且从电路可靠性讲,这个电容越靠近单片机IC越好。
LoRa WAN协议是一种开放的全球标准,用于通过无线 LoRa 网络实现安全运营及 IOT LPWAN 连接。
LoRa WAN认证计划确保互操作性和技术灵活性,可满足多种 IOT 应用的要求。
LoRa WAN的主要优势包括:功耗极低、支持超长距离、网络部署的节点成本和总成本较低...
介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外围电路组成,用于同时控制多路电机的运动。利用Verilog HDL硬件描述语言在fpga中实现了电机控制逻辑,主要包括脉冲控制信号产生、加减速控制、编码器反馈信号的辨向和细分、绝对位移记录、限位信号保护逻辑等。
系统时钟和分频
首先来手册里的一段话。
三种不同的时钟源可被用来驱动系统时钟 (SYSCLK)
HSI振荡器时钟
HSE振荡器时钟
PLL时钟
一般用的是PLL时钟,后面有证据。
我们可以通过库函数获取各时钟值
void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)
在我的系统里,把时钟值打印信息如下:
SYSCLK:0x44aa200 //72000000, 72MHz
HCLK:0x44aa200 //72000000, 72MHz
PCLK1:0x2255100 //36000000, 36MHz
PCLK2:0x44aa200 //72000000, 72MHz
ADCCLK:0x2255100 //36000000,36MHz
RCC->CFGR:0x001D040A //PLL输出作为系统时钟
可推测几个预分频值为
AHB prescaler = 1
前言
客户反馈在批量生产阶段,发现部分产品的MCU的RTC在低温(0℃)下工作不正常,但是在常温下又是正常的,且其他正常的MCU的RTC在常温与低温下都是正常的。
问题跟进
STM8S单片机开发环境由三大部分组成,包括PC机上的开发软件(集成开发软件、驱动程序等)、调试&编程器ST-LINK、目标单片机电路板。如下图所示:
1、PC机上开发软件
PC机上的软件包括:ST-LINK驱动程序、IAR集成开发环境、STM8S标准函数库、STVP烧录工具。
ST-LINK调试&编程器需要驱动程序
这个驱动程序不需要单独安装,安装STVP时会一起安装。
IAR集成开发环境
IAR集成开发环境是集程序编辑、编译、程序下载、调试等功能为一体的集成开发工具,它可以通过 ST-LINK调试&编程器向目标STM8S单片机下载程序,并进行在线调试(包括设置断点、单步执行、查看内单片机存数据等)。
STM8S单片机是一款广泛使用的8位低功耗单片机,具备系统成本低、功能强大等特点。功能强大也带来了学习入门相对较难的问题。本入门教程面向无任何单片机基础的人,从开发环境的搭建开始,通过详细讲解一个典型单片机应用系统最基本设计和实现过程,帮助大家快速入门。
单片机应用系统的形态很多,但基本模式类似。以智能硬件的应用为例,各种智能硬件区别大多是输入电路(各种传感器及外部信号输入)和输出电路(控制电路、动作电路)的不同,基础部分单片机、电池和充电管理、无线数据模块都是类似的。
所以本入门教程选取包含开关机电路、锂电池充电及电源管理、蓝牙无线接口的一个单片机应用实例,通过讲解这些功能的实现过程,把 STM8S单片机的GPIO、中断程序、AD转换、串口通讯、停机模式的使用等知识点串接起来,让大家对STM8S单片机有个整体的认识和掌握。
另外本教程中单片机的程序开发使用C语言,所以需要提前具备一定C语言基础。
前言
在 STM32 开发中,库函数开发相比寄存器方式具有开发周期短、代码可读性好、便于移植等优点,而使用 Keil 环境的第一步就是新建工程。本文以 STM32F401CE 芯片为例,介绍使用标准库函数新建工程的步骤。
材料准备
新产品是专为移动应用设计的大批量非接触式连接方案