自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 STM32——ADC数模转换

1.ADC简介 2.逐次逼近型ADC结构 逼近方式为二分法3.内部结构注入组一次可以选中四个通道,可以输出四个数据,规则组可以选择16个通道,但是只能保存一个数据 4.ADC基本结构下面是输入通道STM32ADC转换有四种模式,单次转换,连续转换,扫描模式和非扫描模式 5.触发控制触发信号的选择可以通过设置右边寄存器来完成,或者使用库函数设置参数 6.数据对齐 一般使用右对齐7。转换时间如果不需要非常高速的转换频率,那转换时间就可以忽略,采样时间长可以避免毛刺干扰ADCCLK最大为14MHz8.校准9.外

2023-08-27 15:31:51 216

原创 STM32——TIM编码器接口

如果外部模块默认输出高电平就选择上拉输入,如果外部模块默认输出低电平就配置下拉输入,如果不确定外部模块输出的默认状态或者外部信号输出功率非常小就尽量选择浮空输入,浮空输入缺点是当引脚悬空时输入会受噪声干扰。如图可见,编码器接口借用了输入捕获单元的前两个通道 ,当配置为编码器接口模式时计数时钟和计数方向都处于编码器接口托管状态,配置时不会使用。注意,如果定时器配置成编码器接口模式那就基本上干不了其他的活了,CH3和CH4接口不能接编码器。3.编码器接口基本结构。

2023-08-20 17:13:14 215 1

原创 STM32——TIM输入捕获

选择输入触发源TRGI。可以给输入捕获结构体赋初始值。tip:输出比较模式下ccr是只写的,要用setcompare写入,而输入捕获模式ccr是只读的,要用Getcapture读出。TIFP2为下降沿触发,这样ccr1就是整个周期的计数值,ccr2就是高电平的计数值。从模式是接收其他外设或者自身外设的一些信号用于控制自身定时器的运行。主模式可以将定时器内部的信号映射到TRGO引脚用于触发别的外设。这四个函数分别配置通道1,2,3,4的分频器。测频法适合高频信号,而测周法适合低频信号。3.输入捕获通道结构。

2023-08-19 16:26:34 157

原创 STM32——TIM输出比较

cnt是时基单元里的计数器,ccr是捕获/比较寄存器,电路会比较cnt和ccr的值,cnt计数自增,ccr是给定的一个值,当cnt大于ccr、小于ccr或等于ccr时,输出就会对应置1、置0。用于配置输出比较模块,有四种,OC1~OC4;TIM_OCStructInit,用于给输出比较结构体赋默认值。上面四个函数用于配置强制输出模式。

2023-08-12 22:03:24 245 1

原创 STM32基础——TIM定时中断

选择ITRx其他定时器的时钟。

2023-08-06 16:17:29 384

原创 STM-32——EXIT外部中断

第一步配置RCC,将涉及外设的时钟打开,第二步将GPIO配置为输入模式,第三步配置AFIO,第四步配置EXTI,选择触发方式,如上升沿,下降沿或双边沿触发,还有选择触发响应方式,可以选择中断响应和事件响应,第五步配置NVIC给中断选一个合适的优先级。注意,外部中断的5~9和10~15是分别分在一个通道中的,外部中断的5~9会触发同一个中断函数,10~15也会触发同一个中断函数,需要根据标志位来区分是那个中断进来。AFIO也是APB2的外设,所以这样配置即可,EXTI和NVIC外设的时钟是一直打开的。

2023-08-04 20:01:14 517 1

原创 基于51单片机的自动避障小车

经过本人测试改良多次,现在小车可以稳定长时间运行在障碍物复杂度不太高的区域。这里我只用了三个超声波测距模块,理论上可以增加更多个来使得避障更加精准。第二张图从左往右(从P20开始)绿蓝黑为第一张图从上往下的黑蓝绿。代码中的lcd头文件时没有用的可以删除。

2023-07-30 17:08:42 325 1

原创 STM32基础——蜂鸣器及oled屏

第二步:初始化GPIO(这里选择的是pb12)第一步:使用rcc开启GPIO时钟。第三步:使用输出函数控制GPIO。左为四针脚版,右为七针脚版。在第一行第一列显示字符A。1:OLED屏幕介绍。

2023-07-30 16:50:03 273 1

原创 STM32——点亮led

RCC APB2外设时钟控制:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);RCC APB1外设时钟控制:void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);GPIO_Init函数的作用为用结构体的参数来初始化GPIO口。2:使用GPIO_Init函数初始化GPIO。

2023-07-23 18:52:38 88

原创 STM32——GPIO输出

其中两个开关,上面导通下面断开为上拉输入模式(默认高电平输入),下面导通上面断开为下拉输入模式(默认低电平输入),两个均断开为浮空输入模式。如果选择通过数据寄存器进行控制,就是普通的io口输出,输出数据寄存器同时控制16位,只能整体读写,位设置/清除寄存器可以操作其中某一位。肖特基触发器执行逻辑为,若输入电压大于某一阈值,输出瞬间升为高电平,若输入电压低于某一阈值,输出瞬间降为低电平。开漏输出高电平为高阻态,没有驱动能力,推挽输出的高电平则有驱动能力。4.利用函数控制点亮pc13。2.GPIO基本结构。

2023-07-15 21:19:52 213 1

原创 51单片机——静态数码管显示

注意,数据存储时按CBA顺序从高位到低位,三位二进制数对应Y0-7口位0其余位为1,控制数字位置。根据原理图找到abcdefg dp的二进制数据赋给P0即可。6.演示代码(在数码管第一位显示1)4.驱动芯片74LS138。

2023-07-09 19:07:48 1529 2

原创 51单片机——LED点阵屏

ser一次只能输入一个数据(0或者1),serclk赋1后数据会向下移动一位,类似把子弹装进弹匣,所有数据位都填满后rclk赋值1数据会并行输出出去。3.74hc595介绍。

2023-07-02 19:07:46 384 1

原创 51单片机——蓝牙遥控小车

L298N*1,HC-06蓝牙模块*1,直流电机*2。注意:控制移动的t值要和手机软件发送的数据一致。注意:配置的波特率要和蓝牙模块的波特率一直。这两个模块的使用方式可以参考其他大佬。

2023-06-25 20:13:52 1275 1

原创 51单片机小项目——LCD1602时钟(附带闹钟功能)

感觉开发板4个独立按键操作起来太繁琐了,大佬们可以修改成别的操作方式hh。6.关闭闹钟回到正常计时模式(我用了goto语句,简单粗暴哈哈)提醒:我写的这个闹钟没有自动归0功能,所以需要自己将闹钟归0。写完之后用起来感觉当成定时器没准更有用一些哈哈哈。3.lcd1602驱动代码。4.独立按键与延时函数。

2023-05-28 21:18:54 2697

原创 51单片机——红外遥控

3.51单片机外部中断。

2023-05-21 13:18:18 276 1

原创 51单片机——串口通信

单片机的串口可以使单片机与单片机、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。SUBF:串口数据缓存寄存器,物理上是两个独立的寄存器,但是占用相同的地址。波特率:串口通信的速率 (发送和接受各数据位的间隔时间)51单片机内部自带UART,可实现单片机的串口通信。当只需要单向的数据传输时,可以直接一根通信线。注意,此中断系统图为传统51单片机的图。当电平标准不一致时,需要加电平转换芯片。简单双向串口通信有两根通信线。停止位:用于数据帧间隔。检验位:用于数据验证。

2023-05-07 20:32:18 190 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除