草庐IT

STM32 F103C8T6学习笔记12:红外遥控—红外解码-位带操作

今日学习一下红外遥控的解码使用,红外遥控在日常生活必不可少,它的解码与使用也是学习单片机的一个小过程,我们将通过实践来实现它。文章提供源码、测试工程下载、测试效果图。目录红外遥控原理: 红外遥控特点:红外发射装置: 红外接收示意图: NEC协议:程序设计:程序实践目标:位带操作:定时器4初始化:定时器4中断服务程序:处理红外键盘:主函数:测试效果:工程下载:红外遥控原理:下图就是红外遥控与1858红外接收头 红外遥控特点:优点:抗干扰能力强、信息可靠、功耗低、成本低、容易实现通信缺点:距离只有几米红外发射装置:红外发射装置就比如遥控器,它是由键盘电路、红外编码电路、电源电路、红外发射电路组成的

【嵌入式学习-STM32F103-TIM-定时中断和外部时钟】

TIM目录定时器四部分讲解内容,本文是第一部分TIM简介基本定时器主从触发通用定时器总结通用定时器与高级定时器的区别==定时中断基本结构图==定时中断和内外时钟源选择时序预分频器时序计数器时序RCC时钟树ST配置流程==代码部分==程序现象定时中断接线图步骤Timer.cTimer.hmain.c外部时钟接线图Timer.cTimer.hmain.c定时器四部分讲解内容,本文是第一部分1、定时器基本定时,定一个时间,然后让定时器每隔一段时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如要做一个时钟、秒表或者使用一些程序算法2、定时器输出比较的功能,输出比较这个模块最常见的用途是产

STM32最小系统核心板(STM32F103C8T6)实现流水灯

文章目录一.题目要求二.STM32简介三.GPIO初始化1.输入输出模式和输出速率设置(1)找到GPIOA、GPIOB、GPIOC的地址(2)配置对应引脚寄存器,基地址+偏移量(3)设置输出模式为推挽输出,输出速度为2Mhz2.时钟地址三.工程文件模板的建立1.所需文件2.创建工程3.启动代码3.1启动代码介绍3.2使用启动代码3.3完善项目创建四.代码的书写1.led.c2.led.h3.test.c五.调试问题六.总结一.题目要求 假设你手中已有STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED,并搭建了电路,分别GPIOA-5、GPIOB-9、GPIOC-1

基于STM32f103c8t6的简单红外巡迹避障小车制作

目录一、硬件部分1、模块选择(1)电源(2)车模(3)电机(4)巡迹及避障(5)其它2、硬件连接(1)电源(3)电机(4)红外(4)超声波二、软件部分1、电机2、红外3、超声波4、控制5、主函数三、总结一、硬件部分1、模块选择(1)电源电源模块选用的是18650锂电池(充电器及电池底座)、3.3v稳压模块。(2)车模淘宝最常见的智能车底。(3)电机买的智能车带有四个电机,选用L298N电机驱动板对电机进行驱动。(4)巡迹及避障巡迹选用四路红外模块实现,避障选用超声波模块HC-SR04实现。(5)其它热熔胶枪,焊笔,杜邦线,主控制器STM32f103c8t6核心板,烧录工具(usb转ttl模块、

STM32F103学习笔记(10)——I2C多路复用器TCA9548A使用

一、简介TCA9548A器件配有八个可通过I2C总线控制的双向转换开关。串行时钟/串行数据(SCL/SDA)上行对可扩展为8个下行对或通道。根据可编程控制寄存器的内容,可选择任一单独SCn/SDn通道或者通道组合。这些下游通道可用于解决I2C从器件地址冲突。例如,如果应用中需要八个完全相同的数字温度传感器,则每个通道(0-7)可以连接一个传感器。发生超时或其他不当操作时,系统主控器可通过将RESET输入置为低电平来复位TCA9548A。同样,加电复位即可取消选中所有通道并初始化I2C/SMBus状态机。将RESET置为有效也可实现复位和初始化,并且无需将部件断电。这样可以在下游I2C总线之一卡

python - 为什么在 Python 中 -103/100 == -2 但 103/100 == 1?

为什么-103/100==-2而103/100==1在Python中?我似乎无法理解为什么。 最佳答案 整数除法总是向下舍入(朝向负无穷大)。Plainorlongintegerdivisionyieldsanintegerofthesametype;theresultisthatofmathematicaldivisionwiththefloor1functionappliedtotheresult.http://docs.python.org/2/reference/expressions.html#binary-arithme

STM32F103C8T6+ESP8266+MQTT使用最新版的oneNet可视化View实现远程控制(详细)

本篇所实现的功能是我毕业设计的一部分,用于记录我的学习过程,以免忘记操作过程!所使用的相关硬件:正点原子的esp8266模块、c8t6开发板一块、STLinkv2、DHT11温湿度传感器一块、发光二级管一个、继电器两个附上我的完整工程代码:代码感谢博主:永栀哇相关文章:1-ESP8266-AT指令初试化及部分基础知识2-STM32+ESP8266连接onenet并上传数据(HTTP)3-STM32+ESP8266连接onenet上传数据+远程控制(MQTT)硬件接线: 最终呈现软硬件:  一、代码方面:(主要说明onenet.c和esp8266.c)onenet.c中:第一步要修改处那么具体的

STM32F103C8T6 操作矩阵键盘

系列文章目录 第一章 STM32F103C8T6点亮LED灯 第二章 STM32F103C8T6按键扫描输入 第三章 STM32C8CT6主控按键触发外部中断 第四章 STM32F103C8T6驱动有源蜂鸣器和无源蜂鸣器文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言    随着大家的深入学习,今天我们来了解一下如何使用STM32F103C8T6单片机去操作矩阵键盘。一、矩阵按键介绍    矩阵键盘上的按键使用的就是我 第二章 STM32F103C8T6按键扫描输入介绍的轻触按键。矩阵按键其实就是按照4x4的矩阵将按键的IO按行、列的形式连接起来,最终

STM32F103屏蔽JTAG/SWD 以及PC13,PC14,PC15的RTC晶振禁用。

STM32F103屏蔽JTAG/SWD以及PC13,PC14,PC15的RTC晶振禁用1.关于JTAG/SWD屏蔽2.PC13,PC14,PC15的RTC晶振屏蔽1.关于JTAG/SWD屏蔽STM32F103系列上的一些IO口在标准库上想要做成普通IO口时的配置。通过芯片手册JTAG/SWD的管脚PB3,PB4,PA13,PA14,PA15。根据上面的图时JTAG/SWD下载调试的几个I/O口对与做成普通I/O需要禁用下载调试功能才可设置成普通的I/O来控制。标准库里在配置I/O口的时候,有配置到PA13,PA14,PA15,PB3,PB4时可以根据你所需要情况来屏蔽相对应的管脚JTAG/SW

STM32F103 内部FLASH读写擦操作

内部flash介绍开发步骤(1)解锁和锁定前面我们介绍了在对FLASH进行写操作前必须先解锁,解锁操作也就是必须在FLASH_KEYR寄存器写入特定的序列(0X45670123和0XCDEF89AB),固件库提供了一个解锁函数,其实就是封装了对FLASH_KEYR寄存器的操作。解锁库函数是:voidFLASH_Unlock(void);在对FLASH写操作完成之后,我们要锁定FLASH,使用的库函数是:voidFLASH_Lock(void);(2)写操作FLASH解锁后,我们就可以开始写操作,固件库内提供了3个FLASH写函数:FLASH_StatusFLASH_ProgramWord(ui