• 2024-07-01stm32学习笔记---DMA直接存储器存取(代码部分)DMA数据转运/DMA+AD多通道
    目录第一个代码:DMA数据转运扩展知识DMA的配置步骤DMA的库函数DMA_DeInitDMA初始化和DMA结构体初始化函数DMA_CmdDMA_ITConfigDMA_SetCurrDataCounterDMA_GetCurrDataCounter四个获取标志位状态函数代码实现MyDMA.c第一步,开启时钟第二步,初始化DMA第三步,开关控制
  • 2024-06-20STM32第五课:外部中断
    文章目录需求一、外部中断二、外部中断配置(以按键为例)1.开时钟2.配置IO3.配置检测模式和屏蔽位4.开NVIC,主函数分组三、中断函数四、需求实现总结需求1.设备上电后打开串口。2.按下KEY1,串口打印“按键1触发中断”。3.以此类推,设置4个按键。4.其中按键1,2采用寄存
  • 2024-06-19学习笔记STMF4 TIMER定时器(使用开发板立创天空星STMF4)
    目录                                                #定时器的介绍             #怎么去理解定时器的预分频系数                                        
  • 2024-06-19STM32学习笔记(五)--TIM输出比较PWM详解
    (1)配置步骤1.配置RCC外设时钟开启GPIO以及TIM外设2.配置时基单元的时钟包含时钟源选择配置初始化时基单元3.配置输出比较单元包含CCR的值输出比较模式极性选择输出使能等4.配置GPIO口初始化为复用式推挽输出的配置5.运行控制启动计数器输出PWM(2)代码示例案例1(TIM_2
  • 2024-06-17STM学习记录(六)————串口的发送接收
    文章目录前言一、串口结构体及库函数二、实现串口发送(库函数)1.程序设计2.代码三.串口接收1.串口接收(普通)2.串口中断接收3.串口发送字符串函数4.串口实现printf(重定向)5.串口实现scanf(重定向)前言一个学习单片机的小白~有错误评论区或私信指出~一、串口结构体及
  • 2024-06-12【STM32F1例程2】GPIO外部中断输入
    1.实验说明无需连外部杜邦线,下载程序,全速运行,按右边按键看到LEDD1(PB4引脚驱动)亮暗能变化一次2.主要代码先上main.c#include"delay.h"#include"sys.h"//外部中断0配置,PA0脚产生外部中断是外部中断0voidEXTI0_Config(void){ EXTI_InitTypeDefEXTI_InitStructur
  • 2024-06-12【STM32F1例程3】ADC实验
    1.实验说明 PA4口作为ADC采集口,PA4口接地或者接3.3V。下载运行程序,PA4口接地,会发现VolDta值为0,然后把PA4口接3.3V,会发现VolDta值为33002.主要程序直接上main.c#include"delay.h"#include"sys.h"//ADC配置,ADC1通道4voidADC_Config_Init(void){ ADC_InitTypeDef
  • 2024-06-06stm32系列--DAC的应用
     #include"bsp_dac.h"#include"math.h"//#include"stm32f10x_tim.h"//#include"stm32f10x_dma.h"//#include"stm32f10x_dac.h"//正弦波单个周期的点数#definePOINT_NUM32#defineangle3.1415/64/*初始波形数据-----
  • 2024-06-06stm32系列--ADC使用
      #include"adc.h"#include"delay.h"////////////////////////////////////////////////////////////////////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//ALIENTEK战舰STM32开发板//ADC代码//正点原子@ALIENTEK//技术论
  • 2024-06-04USART串口协议
    一、通信接口1、通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统2、通信协议:制定通信的规则,通信双方按照协议规则进行数据收发二、串口通信1、串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信2、单片机的串口可以
  • 2024-06-04stm32系列--PWM捕获功能
      Capture_Init(59999,120-1);//可捕获最小频率72M/(120*60000)=17*0.6=10HzPA1//TIM2_CH2PA7做为捕获通道//输入捕获能捕获到的最小的频率为72M/{(ARR+1)*(PSC+1)}voidCapture_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;
  • 2024-06-03nrf24L01 check不通过问题分析
    下面这段代码是有问题的,使nrf24L01check不通过。#include"stm32f10x.h"//Deviceheader#include"spi.h"#include"OLED.h"/******SPI2引脚连接******/#definePA4_SPI1_NSSGPIO_Pin_4#definePA5_SPI1_SCKGPIO_Pin_5#definePA6_SPI1_MISOGPIO_
  • 2024-06-03STM32与陶晶驰串口屏交互
    1、串口屏界面设计1.新建工程保存位置自定义,作为一个合格的嵌入式工程师要有路径下没有中文的情况并命名。选择自己串口屏对应的芯片,一般屏幕背面会有,也可以查看资料。 选择显示方向,自行选择。按照自己的爱好右边可对当前页面重命名。再进行一些基础代码修改。一般
  • 2024-06-02STMF4立创天空星相关学习笔记 USART
    #本文有参考官方文档,连接就放在最后了,大家可以去看看,写的比较好,同时在此声明,本系列笔记是用来,记录学习过程中产生的问题,以及查询结果逐渐理解的过程。#USART    笔者理解:一种常用的通信方式,分为:同步通信、异步通信,两种二者差别在于,连接双方是不是有着相同的时钟频率,
  • 2024-05-30【STM32 标准库】DS18B20温度
    目录1.DS18B201.1DS18B20简介1.1.1特点1.1.2内部结构1.1.3温度读取2.软件配置3.硬件设计4.软件设计4.1 功能描述4.2 软件实现4.2.1DS18B20.c4.2.2DS18B20.h4.2.3main.c1.DS18B201.1DS18B20简介1.1.1特点        一线总线(单总线)接口
  • 2024-05-27关于STM32单片机的一些事情-1.1
    1.1.1回顾:上一篇博客我们一起了解了一下:stm32工程文件的建立,以及使用hal库函数去操作单片机。本篇我们将继续探讨STM32的一些事情。1.1.2GPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下
  • 2024-05-26嵌入式进阶——蜂鸣器
  • 2024-04-26STM32之UASRT试验
    一、实验目的1.实现STM32F407开发板与上位机工具通讯,中断方式 具体实现的效果:上电后,下位机主动发送helloworld,上位机收到并显示;上位机发送数字0~9,回复:zero~nine2.通讯协议,后面补充3.硬件使用野火开发版STM32F4074.与开发板连接的接口是Usb转串口,根据原理图看出选择的
  • 2024-04-11sumulation_Uart_Send_Data
    voidsumulation_Uart_Send_Data(void){ uint8_ti=0,j; uint8_ttemp=0; OUTPUT_LOW_LEVEL(); delay_us(1500); for(i=0;i<4;i++)//四个字节 { temp=myusart.rcbuf[i]; for(j=0;j<8;j++) { PA12_OUT^=1;//异或就是取反; if(temp&0x80)//先发送第七位 {
  • 2024-04-11void usart_dma_init(void)
    voidusart_dma_init(void){GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;DMA_InitTypeDefDMA_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;/*配置GPIO的模式和IO口*/RC
  • 2024-04-10定时器
    本文结合江科大stm32教程和参考博客STM32-定时器详解。一、定时中断上图为配置流程,以配置TIM2为例,以下为配置函数:voidTimer_Init(void){ /*开启时钟*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //开启TIM2的时钟 /*配置时钟源*/ TIM_InternalClockCon
  • 2024-04-09STM32外部中断小记
    一、EXTI配置步骤//1.配置RCC时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//开启AFIO时钟,AFIO:GPIO复用/重映射功能//2.配置EXTIGPIO端口及工作模式(输入模式)//3.配置EXTI中断线、模式(上升沿、下降沿
  • 2024-04-04STM32FATFS(未完待续)
    注意,本博客适合像我一样的小白,会的不多,但是想快速做些东西,不适合会写驱动的大佬。另外,示例代码中的注释有误(从多个项目中移植过来的,未做更改),请不要被误导!!!【免费】stm32f103c8t6SD卡驱动(Fatfs)资源-CSDN文库一、copy源码,移植我在CSDN上找到了一位大佬用HAL库和fatfs实现stm32f
  • 2024-04-03【STM32嵌入式系统设计与开发】——16InputCapture(输入捕获应用)
    这里写目录标题STM32资料包:百度网盘下载链接:链接:https://pan.baidu.com/s/1mWx9Asaipk-2z9HY17wYXQ?pwd=8888提取码:8888一、任务描述二、任务实施1、工程文件夹创建2、函数编辑(1)主函数编辑(2)USART1初始化函数(usart1_init())(3)USART数据发送函数(USART1_Send_Data())(4)USART
  • 2024-04-02【stm32】USART编码部分--串口数据包
    USART串口数据包【源码放在最后】关于数据包的分类关于数据包的发送如果想要发送Hex数据包,定义一个数组填充数据,然后使用串口模块函数SendArray进行发送如果想要发送文本数据包,写一个字符串然后调用SendString进行发送对于发送数据包很简单,因为发送过程完全是自主