自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32智能小车学习笔记(避障、循迹、跟随)

把中景园电子0.96OLED显示屏_STM32F103C8_IIC_V1.0文件里面的OLED文件添加到到我们的工程分组里面并修改一些错误。STM32CubeMX给我们每一个引脚都在main.h里面设置以宏的形式,我们写的代码要放在BEGIN 和END之间。初始化IO口为输出模式--上拉输出模式(这个OLED是IIC协议,模拟IIC控制OLED的)PA11--PWMA、PA8--PWMB 设置成pwm输出,上一步已经设置好了。把cJSON的.c.h放到工程中去,并在main函数中加入以下代码。

2024-06-07 15:46:14 3247 1

原创 STM32 HAL库F103系列之IIC实验

IIC,集成电路总线,是一种同步 串行 半双工通信总线。总线就是传输数据通道协议就是传输数据的规则。

2024-04-27 17:41:42 2279

原创 STM32 HAL库F103系列之DAC实验(二)

转换的数字量及换算后的电压值。,配置定时器溢出频率并启动。滤波器,输出预设电压,输出正弦波,然后通过。

2024-04-24 20:18:10 1335

原创 STM32 HAL库F103系列之DAC实验(一)

* DAC 寄存器基地址 *//* DAC 工作状态 *//* DAC 锁定对象 *//* 通道 1 的 DMA 处理句柄指针 *//* 通道 2 的 DMA 处理句柄指针 *//* DAC 错误代码 *//* DAC 触发源的选择 *//* 启用或者禁用 DAC 通道输出缓冲区 */

2024-04-23 17:03:37 1906

原创 STM32 HAL库F103系列之ADC实验(三)

1,功能描述通过ADC1通道16采集芯片内部温度传感器的电压,将电压值换算成温度后,显示在液晶屏(可看作四步:1、上电 2、采集 3、计算 4、显示)2,确定最小刻度VREF+= 3.3V0V≤VIN≤3.3V最小刻度= 3.3 / 4096 (分辨率:12位)3,确定转换时间采样时间239.5个ADC时钟周期为例,可以得到转换时间为21us转换时间计算方法:4,模式组合单次转换模式、不使用扫描模式。

2024-04-22 18:14:17 1236

原创 STM32 HAL库F103系列之ADC实验(二)

这个实验与单通道ADC(DMA读取)实验大致相同。连续转换模式、不使用扫描模式。连续转换模式、使用扫描模式。采样时间设置为最小值1.5。最小刻度 = 3.3 / 4096。最小刻度 = 3.3 / 4096。时钟周期为例,可以得到转换时间为。次采集结果求和,求和的结果再右移。转换的数字量及换算后的电压值。位,就得到提高分辨率后的结果。转换的数字量及换算后的电压值。时钟周期,可以得到转换时间为。位分辨率,采样频率就要提高。位分辨率采集电压,并显示。

2024-04-18 17:43:06 2424 1

原创 STM32 HAL库F103系列之ADC实验(一)

* ADC 寄存器基地址 *//* ADC 参数初始化结构体变量 *//* DMA 配置结构体 */……/* 设置数据的对齐方式 *//* 扫描模式 *//* 开启单次转换模式或者连续转换模式 */ uint32_t NbrOfConversion;/* 设置转换通道数目 *//* 是否使用规则通道组间断模式 *//* 配置间断模式的规则通道个数 *//* ADC 外部触发源选择 *//* ADC 转换通道*//* ADC 转换顺序 *//* ADC 采样周期 */

2024-04-17 19:44:53 3447

原创 STM32 HAL库之使用8080时序在LCD上实现任意位置画点和读点以及字符显示

本实验用的是240*320屏幕。

2024-04-12 17:51:27 1673 3

原创 STM32 HAL库F103系列之OLED显示一个字符

OLED_CS对应OV_WRST,即:PD6;OLED_RS对应OV_SCL,即:PD3,高电平为命令,低电平为数据;OLED_WR对应OV_RRST,即:PG14;OLED_RD 对应DCMI_SDA,即:PG13;OLED_RST对应DCMI_RESET,即:PG15;OLED_D[7:0]对应DCMI_D[7:0],即:PC[7:0]

2024-04-10 21:59:05 973 1

原创 STM32 HAL库基于F103系列之高级定时器

HAL_TIM_PWM_MspInit() 配置NVIC、CLOCK、GPIO等。定时器1通道1映射在PE8引脚上,互补输出映射在PE9引脚上,刹车功能映射在PE15上。通过定时器1通道1输出频率为1KHz,占空比为70%的PWM,使用PWM模式1。将PWM输入到定时器8通道1(PC6),测量PWM的频率/周期、占空比等信息。1,确定PWM波的周期/频率 1KHz为例,PSC=71,ARR=999。2,以4.5.2小节的H桥为例,配置通道输出极性以及互补输出极性。通道输出极性为:高电平有效。

2024-04-09 21:21:33 2875

原创 STM32 HAL库 高级定时器输出指定个数PWM实验

通过定时器8通道1实现指定个数PWM输出,用于控制LED1的亮灭1,确定PWM波的周期/频率,2Hz为例,PSC=7199,ARR=49992,配置输出比较模式为:PWM模式1通道输出极性为:高电平有效占空比:50%硬件知识:由原理图可知定时器8通道1 连接在PC6,LED1连接在PE5上,所以要在开发板上用杜邦线将PC6和PE5引脚连接起来。

2024-04-06 22:07:12 1343 1

原创 STM32 HAL库通用定时器计数脉冲实验

* 从模式选择 *//* 输入触发源选择 *//* 输入触发极性 *//* 输入触发预分频 *//* 输入滤波器设置 */

2024-04-02 15:40:39 1233 1

原创 STM32 HAL库通用定时器输入捕获实验

* 输入捕获触发方式选择,比如上升、下降沿捕获 *//* 输入捕获选择,用于设置映射关系 *//* 输入捕获分频系数 *//* 输入捕获滤波器设置 */

2024-04-01 20:38:00 1014

原创 STM32 HAL库通用定时器PWM输出实验

uint32_t Channel) 参数二结构体介绍/* 输出比较模式选择 *//* 设置比较值 *//* 设置输出比较极性 *//* 设置互补输出比较极性 *//* 使能或失能输出比较快速模式 *//* 空闲状态下OC1输出 *//* 空闲状态下OC1N输出 */在本次实验中只用到前三个结构体。源码。

2024-03-30 22:31:54 1792 1

原创 STM32 HAL库IWDG和WWDG配置步骤

5,重定义提前唤醒回调函数 HAL_WWDG_EarlyWakeupCallback。程序预设:计数器值为0x7F,窗口值为0x5F,预分频系数(2^WDGTB)为8。1,取消PR/RLR寄存器写保护,设置IWDG预分频系数和重装载值,启动IWDG。3,设置优先级,使能中断 HAL_NVIC_SetPriority。6,在窗口期内喂狗 HAL_WWDG_Refresh。WWDG工作参数初始化 HAL_WWDG_Init。2,及时喂狗,即写入0xAAAA 到IWDG_KR。

2024-03-25 22:22:00 1018 1

原创 STM32 HAL库基于F103系列之异步通信

串口1 (PA9/PA10连接在板载USB转串口芯片CH340C上面)

2024-03-20 20:56:55 1552 1

原创 STM32 HAL库 通过外部中断控制一个灯亮灭

在所有的外 部中断服务函数中直接调用外部中断共用处理函数HAL_GPIO_EXTI_IRQHandler,然后在回调函数HAL_GPIO_EXTI_Callback 中通过判断中断是来自哪个 IO 口编写相应的中断服务控制逻 辑。5)编写中断处理回调函数HAL_GPIO_EXTI_Callback HAL库为了用户使用方便,提供了一个中断通用入口函数HAL_GPIO_EXTI_IRQHandler, 在该函数内部直接调用回调函数HAL_GPIO_EXTI_Callback。4)编写中断服务函数。

2024-03-17 20:42:18 1611 1

原创 STM32 HAL库通过一个按键控制LED灯亮灭

因为按键按下属于输入过程所以不需要配置Speed。在.c里面用到了delay_ms(延时函数)须在最前面加上。这里为什么翻转为PB5,应为在led.c文件中用的是PB5 IO口,翻转一下亮变成灭,再翻转灭变成亮的状态。把点亮LED灯的那个项目复制过来并在这个地方创建一个KEY文件夹。在.c里面定义的函数需要在.h文件里面声明一下。里面放对应的key.c和key.h文件。key_init()按键初始化。PE2-4:设置为输入上拉。在main.c里面需要把。PA0:设置为 输入下拉。这里使用KEY2按键。

2024-03-17 14:32:12 1737 1

原创 STM32 HAL库点亮LED灯配置步骤

编写的led.h文件要在main.c里面引用,while循环里面使用步骤三:HAL_GPIO_WritePin()或者HAL_GPIO_TogglePin()也是双击然后F12 到这里第三个参数是写入1或者0 的我们双击这个函数。点击进去可以看到178行括号里面的参数,对应着led.c的进行修改即可,在第二个参数我们要在最上面一行定义gpio的定义体。GPIO_PIN_RESET这个是写0,GPIO_PIN_SET这个是写1。步骤三: 设置输出状态 (可选)步骤四:读取输入状态(可选)

2024-03-16 16:45:53 730 1

原创 C语言之条件判断语句

条件判断语句也叫分支语句:if语句、switch语句;if(表达式)语句;if(表达式)语句;else语句;if (表达式)语句;else if(表达式二)语句;else if(表达式三)语句;else语句;if (表达式)语句;else语句;

2024-02-06 20:40:44 2020 1

原创 C语言的类型

里面的%c是打印输入的字符,%d是打印输入字符所表达的整数(char类型变量的值)无符号整型只能用来表示零和正整数,因此无符号整型可表示的正整数比有符号整型的大。在%和f之间加上.n可以指定输出小数点后几位,这样的输出是做四舍五入的。定义一个char类型(char类型用于储存字符)的变量ch。最大的short类型整数小于或等于最大的int类型的整数。该类型可表示的整数大于或等于最大的int类型的整数。该类型可表示的整数大于或等于最大的long类型整数。所表达的范围:char

2024-02-02 22:06:53 548

原创 float与double的输入输出格式

float a;double b;int main()float a;double b;return 0;

2024-02-01 21:02:30 941 1

空空如也

空空如也

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

TA关注的人

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