• 2024-06-22DMA学习笔记(天空星stmf4开发板)
    目录    #DMA介绍#相关数据传输方法介绍#DMA相关数据手册框图介绍#DMA相关涉及概念介绍  #软件实现DMA传输数据    #DMA介绍#相关数据传输方法介绍    DirectMemoryAccess 即DMA ,芯片开发板,片上外设的一种,相关作用:进行传输数据不
  • 2024-06-14NG32031单片机串口初始化
    目录1.串口基础2.串口配置步骤3.N32G031串口初始化示例3.1开启时钟3.2 配置GPIO3.3 配置USART3.4 使能中断(如果需要)    3.5. 示例代码4.调试和验证5.注意事项6.额外功能NG32G031单片机的串口(UART)通常用于与外部设备或计算机进行串行通信。以下
  • 2024-06-02小白跟做江科大32单片机之对射式红外传感器计次
    原理部分1中断示意图,中断会打断主函数的执行,终端执行完成之后再返回主函数继续执行2.STM32中断这些灰色的是内核中断这些白色的是普通中断3.NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级4.抢占优先
  • 2024-06-01基于标准库的STM32的外部中断EXTI
            毕设已经告一段落了,接下来准备开始整理一下毕设中用到的知识与技术细节,今天整理的是STM32从编码器获取数据的方式-----外部中断(EXTI):外部中断分为四个硬件相关外设,GPIO/AFIO/EXTI/NVIC(EXTI/NVIC不需要开启时钟)1.RCC开启时钟RCC_APB2PeriphClockCmd(RCC_APB2P
  • 2024-05-28STM32 IIC读取Eeprom失败问题
    现象描述异常断开产品的电源,会出现产品无法读取eeprom数据,并且iic返回繁忙警告。原因iic再读取eeprom时,出现电源抖动的情况。而该电源能维持芯片不进入关机状态,但是会影响iic通讯问题。解决办法在出现iic忙碌时,将iic复位即可。voidi2c_reset(void){ /*复位I2C*/ /*Res
  • 2024-04-2302 IO口的操作
    目录前言一、IO的概念1.IO接口2.IO端口二、CPU和外设进行数据传输的方法1.程序控制方式1.1无条件1.2查询方式2.中断方式3.DMA方式一、方法介绍和代码编写1.前置知识2.程序方式1.1无条件方式1.1.1打开对应的GPIO口1.1.2初始化对应的GPIO引脚1.1.2.1推挽输出1.1.2.2开漏输出1
  • 2024-04-02STM32F103系列IIC通讯代码
    CH1--SDA;CH2--SCL。 #include"iic.h"voidIIC_GPIO_Init(void){GPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin
  • 2024-03-31论STM32如何使用I2C协议
    前言当提到STM32微控制器使用I2C协议时,通常意味着通过I2C总线与其他外设进行通信。I2C(Inter-IntegratedCircuit)是一种常用的串行通信协议,用于在微控制器和外部设备之间传输数据。ST公司的STM32系列微控制器广泛应用于各种嵌入式系统中。STM32微控制器通常具有内置的硬件支持,
  • 2024-03-23初学STM32 CAN通信(三)
    1.stm32CAN通信标准库函数//CAN通信初始化函数uint8_tCAN_Init(CAN_TypeDef*CANx,CAN_InitTypeDef*CAN_InitStruct);//筛选器初始化函数voidCAN_FilterInit(CAN_FilterInitTypeDef*CAN_FilterInitStruct);//发送信息函数uint8_tCAN_Transmit(CAN_TypeDef*CANx,C
  • 2024-03-0217_I2C通信外设
    I2C通信外设I2C外设简介固定多主机:固定多个主机和多个从机可变多主机:没用固定的主机和从机,任何从机都可以变成主机,通信完成后变回从机10位地址模式:使用第一二个字节当地址,第一个字节是11110开头就是10位地址模式(除了11110之后的2位+第二个字节的8位)I2C框图I2C基
  • 2024-03-0103按键控制LED
    上回讲到点亮一个LED    这次我们来实现用按键控制led不带中断的方式当然实例来源网络加上自己整合先熟悉流程0.添加一个自己写的驱动库文件    为什么添加笔者想的是一个项目工程希望能适应很多个应用场景需要什么直接在里面调用分装好的函数就行1.如何添加文件
  • 2024-02-2806. 点亮LED
    一、LED简介  LED(LightEmittingDiode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。  半导体晶片由两部分组
  • 2024-02-11STM32超声波模块问题
    先写没问题用法,有问题的语法就不示范voidSr04_Init(void){GPIO_InitTypeDefGPIO_InitStruct;TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStruct;//打开GPIO组时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);RCC_AHB1PeriphClockCm
  • 2024-02-0809_TIM输入捕获
    TIM输入捕获输入捕获简介频率测量输入捕获通道主从触发模式输入捕获基本结构PWMI基本结构输入捕获模式测频率接线图引脚选择代码IC.c#include"stm32f10x.h"//DeviceheadervoidIC_Init(void){ RCC_APB1PeriphClockCmd(RCC_APB1Per
  • 2024-02-0807_TIM定时中断
    TIM定时中断TIM简介定时器类型基本定时器通用定时器高级定时器基本定时器仅支持向上计数:0->重装值->发起中断通用定时器和高级定时器支持向上计数,向下计数,中央对齐计数向下计数:重装值->0->发起中断中央对齐计数:0->重装值->发起中断->0->发起中断基本定时器只
  • 2024-01-1304_GPIO输入
    GPIO输入按键介绍传感器模块介绍硬件电路C语言数据类型按键控制LED接线图代码LED.c#include"stm32f10x.h"//DeviceheadervoidLED_Init(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDefGPIO_InitStruct;
  • 2023-10-29STM32F3系列 ADC采样单端采样模式(基于LL库)
    STM32F3系列ADC单端采样(基于LL库)芯片型号:STM32f303RBT6开发软件:MDK5&CubeMX&VSCode目录目录STM32F3系列ADC单端采样(基于LL库)目录引言1基础知识1.1ADC转换基本流程1.2时钟树1.3关键参数1.3.1位数1.3.2触发信号1.3.3采样时间1.3.4转换时间2CubeMx配置步骤
  • 2023-10-22STM32不使用 cubeMX实现外部中断
    这篇文章将介绍如何不使用cubeMX完成外部中断的配置和实现。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:如何不使用cubeMX实现外部中断。实验:使用外部中断控制key点亮led.如果大家想了解如何cubeMX实现外部中断,可以参考我之前的文章:最详细STM32,cub
  • 2023-10-14普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW
    目录普冉PY32系列(一)PY32F0系列32位CortexM0+MCU简介普冉PY32系列(二)UbuntuGCCToolchain和VSCode开发环境普冉PY32系列(三)PY32F002A资源实测-这个型号不简单普冉PY32系列(四)PY32F002A/003/030的时钟设置普冉PY32系列(五)使用JLinkRTT代替串口输出日志普冉P
  • 2023-10-141.5 为x64dbg编写插件
    任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,x64dbg也不例外其可通过开发插件的方式扩展其自身功能,x64dbg提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,x64dbg还支持用户自定义命令和快
  • 2023-10-08DMA2D配置
    1.DMA2D参数配置:voidBSP_DMA2D_Init(void){RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2D,ENABLE);}voidBSP_DMA2D_Line_Layer1(uint32_tBSP_Position_X,uint32_tBSP_Position_Y,uint32_tBSP_Line_Width,uint32_tBSP_Line_Height,uint32_tBSP_Line_K,uint32_tBS
  • 2023-10-05初始化LTDC
    1,初始化GPIO2.LTDC初始化voidBSP_LTDC_Init(void){/*LTDC像素时钟域通过PLLSAI进行配置*/RCC_PLLSAIConfig(200,20,2);RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div4);RCC_PLLSAICmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_PLLSAIRDY)==RESET
  • 2023-09-07EXTI外部中断配置
    1.初始化用来产生中断的GPIO    本次实验采用按键产生中断,通过按键按下使得对应的GPIO产生外部中断,初始化代码如下://按键引脚初始化voidKEY_Config(void){ GPIO_InitTypeDefGPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitS
  • 2023-08-25基于STM32设计的智能空调
    一、项目背景随着人们生活水平的不断提高,对居住环境的舒适度要求也越来越高。空调作为一种重要的家电设备,已经成为了现代家庭中必不可少的一部分。本文介绍了一种基于STM32的智能空调设计方案,可以自动地根据环境温度进行温度调节。二、设计思路2.1整体构架智能空调系统由温度检测
  • 2023-08-06STM32Cube HW-493激光发射
    文章代码使用HAL库。@TOC一、HW-493激光模块HW-493激光模块是一种小型化的激光发射模块,其主要特点是体积小、功耗低、精度高、可靠性强。它采用了半导体激光器作为光源,搭配高精度光学透镜,可以发射出稳定、准确、高亮度的激光光束。VCC:+5V电压。(电源电压范围为3.5V-5.5V,过高