目录一、芯片介绍二、Datasheet解读1.硬件说明2.寄存器说明3.通信过程三、驱动代码编写1.软件I2C驱动2.PCA9555芯片驱动函数总结 一、芯片介绍 PCA9555可设置16路输入或输出口,I2C接口,用于IO扩展,3个硬件地址引脚寻址,工作电压:VCC(2.3V至5.5V)。二、Datasheet解读1.硬件说明1)框图 INT:中断输出A0,A1,A2:器件地址SCL,SDA:I2C总线VCC,GND:器件电源供电P07-P00:内部时钟2)引脚说明 2.寄存器说明 1、对应控制寄存器的控制指令如下: 2、硬件地址寻址说明:最多可连接8个芯片 3、器件寄存器
文章目录一、L298N简介二、L298N电路图三、L298N使用方法四、L298N驱动电机实例4.1麦克纳姆轮简介4.2定时器PWM配置4.3智能车行驶控制五、拓展应用一、L298N简介L298N是SGS公司生产的一款通用的电机驱动模块。其内部包含4路逻辑驱动电路,有两个H桥的高电压大电流全桥驱动器,接收TTL逻辑电平信号,一个模块可同时驱动两个直流电机工作,具有反馈检测和过热自断功能。利用L298N驱动电机时,主控芯片只需通过I/O口输出控制电平即可实现对电机转向的控制,编程简单,稳定性好。二、L298N电路图L298N的电路图如下OUT1、OUT2、OUT3和OUT4之间分别接两个电机。I
文章标题一、DHT11简介二、数据手册分析2.1接口说明2.2串行通信说明2.2.1单总线通信2.2.2单总线传输数据位定义2.2.3时序图三、DHT11程序设计3.1初始化GPIO3.2发送起始信号3.3接收一个字节数据3.4接收温湿度信息并校准四、总结一、DHT11简介DHT11是一款常用的数字温湿度传感器。传感器包括一个电容式感湿元件和一个NTC测温元件,能够测量皱纹环境的温湿度,常用于暖通空调、除湿器、农业、冷链仓储等方面。二、数据手册分析2.1接口说明2.2串行通信说明DHT11通过串行通信的方式,将采集到的环境温湿度信息传递给单片机。数据手册中,针对DHT11的串行通信做了详细介绍
文章目录一、BH1750简介二、BH1750原理图三、BH1750数据手册3.1指令集3.2IIC通信读/写四、BH1750程序设计4.1IIC程序4.2BH1750初始化程序4.3读取BH1750测量结果4.4获取光照强度4.5相关宏定义五、应用实例六、拓展应用6.1实时调节LED亮度6.2实时调整颜色阈值一、BH1750简介BH1750是一款数字型光照强度传感器,能够获取周围环境的光照强度。其测量范围在0~65535lx。lx勒克斯,是光照强度的单位。BH1750可用于调节手机屏幕和键盘的背光功率,或者用于智能灯光控制,比如,随着外界光照强度的变化调节灯光亮度。BH1750有以下特点I2C
以下代码片段在完成block外调用时完美运行,但当我在block内设置时,计时器永远不会触发。我不明白为什么会有区别:self.timer=Timer.scheduledTimer(timeInterval:1,target:self,selector:#selector(self.foo),userInfo:nil,repeats:true)最初在block外调用它时我没有使用自引用,但一旦进入block内,就需要它。然而,我再次在block外测试了完全相同的代码,它仍然有效。该block是一个完成处理程序,在请求HealthKit相关信息的许可后调用。
以下代码片段在完成block外调用时完美运行,但当我在block内设置时,计时器永远不会触发。我不明白为什么会有区别:self.timer=Timer.scheduledTimer(timeInterval:1,target:self,selector:#selector(self.foo),userInfo:nil,repeats:true)最初在block外调用它时我没有使用自引用,但一旦进入block内,就需要它。然而,我再次在block外测试了完全相同的代码,它仍然有效。该block是一个完成处理程序,在请求HealthKit相关信息的许可后调用。
文章目录1、NVIC(嵌套向量中断控制器)简介2、EXTI(外部中断/事件控制器)简介3、EXTI工作流程框图4、抢占优先级与响应优先级5、代码流程图5.1、STM32中断优先级配置流程5.2、中断触发到中断服务函数的流程5.3、外设初始化流程图6、CubeMX配置7、示例实验代码作者公众号1、NVIC(嵌套向量中断控制器)简介NVIC控制着整个芯片中断相关的功能,它跟内核紧密耦合。但是各个芯片厂商在设计芯片的时候会对Cortex-M3内核里面的NVIC进行裁剪,把不需要的部分去掉,所以STM32的NVIC是Cortex-M3的NVIC的一个子集。NVIC属于内核外设,MCU组成分为:内核(A
GPIOGPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等GPIO的基本结构GPIO框图通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式浮空输入:可读取引脚电平,若引脚悬空,则电平不确定上拉输入:可读取引脚电平,内部连接上拉电阻,悬空时默认高电平下拉输入:可读取引脚电平,内部连接下拉电阻,悬空
目录问题类别3:外设管理3.1添加网络共享打印机后,无法进行打印【适用版本】【问题现象】【解决方案】方法1:图形软件关闭防火墙。 方法2:使用命令关闭防火墙。3.2系统设置共享打印机问题【适用版本】【问题现象】【解决方案】3.3系统共享打印认证问题【适用版本】【问题现象】 【解决方案】3.4系统无法正常刷新共享打印机问题【适用版本】【问题现象】【解决方案】问题类别3:外设管理3.1添加网络共享打印机后,无法进行打印【适用版本】银河麒麟桌面操作系统V10【问题现象】银河麒麟桌面操作系统V10添加网络共享打印机后,无法进行打印。【解决方案】系统防火墙未关闭导致无法进行打印。关闭防火墙有两种方法,包
片上资源又叫做外设,英文是peripheral,下面这个表里就是STM32F1系列的外设资源。我们主要学习的就是STM32的外设,通过程序配置外设来完成我们想要的功能。在这个表中,前两个深颜色的是位于杠M3内核里面的外设,剩下的都是内和外的外设。NVIC(嵌套向量中断控制器)这个是内核里面用于管理中断的设备,比如配置中断优先级这些东西。SysTick(系统滴答定时器)这个是内核里面的一个定时器,主要用来给操作系统提供定时服务的。STM32是可以加入操作系统的,比如freertosUCOS等啊,如果用了这些操作系统,又需要SysTick提供定时,来进行任务切换的功能。这个我们可以用这个定时器来完