• 2024-07-04STM32学习——TIM定时器(1)
    目录1.认识TIM2.定时器介绍2.1基本定时器2.2通用定时器2.3高级定时器3.定时器中断大致结构4.时基单元时序 4.1预分频器时序5.Keil5代码    5.1.部分常用函数5.2.使用流程1.认识TIM    TIM,也就是Timer,定时器。那在开始学习之前呢,先做好心理准备
  • 2024-07-04stm32学习笔记---USART串口数据包(代码部分)串口收发HEX数据包/文本数据包
    目录第一个代码:串口收发HEX数据包Serial.cSerial.hMain.c第二个程序:串口收发文本数据包Serial.cSerial.hMain.c声明:本专栏是本人跟着B站江科大的视频的学习过程中记录下来的笔记,我之所以记录下来是为了方便自己日后复习。如果你也是跟着江科大的视频学习的,可以配套
  • 2024-07-02Tim定时器初始化的方法
    #include"stm32f10x.h"//DeviceheadervoidTimerInit(void){ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_InternalClockConfig(TIM2); //初始化配置时基单元 TIM_TimeBaseInitTypeDefTIM_TimeBaseInitTypeStructrue; TI
  • 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-14STM学习记录(四)———中断及NVIC
    文章目录前言一、中断1.中断的定义2.中断的优先级3.中断嵌套二、STM32中断总结前言一个学习32单片机的小白~有问题评论或私信指出~提示:以下是本篇文章正文内容,下面案例可供参考一、中断1.中断的定义在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU
  • 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-10嵌入式浅谈之“梯形”加减速MCU算法实现
    书接上回,上章我们讲到原理,本章我们来聊聊实现。在笔者的实际项目经历中,梯形加减速运用的比较广泛,主要以其优秀的加减速能力、对算法实现资源的需求较小、实现难度适中而被广泛应用。下面就简单介绍一下基于MCU的算法实现过程,以STM32为例。采用“梯形”加减速算法,在运动过
  • 2024-06-07GD32如何配置中断优先级分组以及中断优先级
    使用GD32MCU的过程中,大家可能会有以下疑问:中断优先级如何配置和使用?本文将会为大家解析中断优先级分组以及中断优先级的配置使用:中断优先级分组配置一个GD32MCU系统需要大家明确系统中使用的中断优先级分组,避免中断优先级配置越界导致一些不符合预期的中断现象。中断优先
  • 2024-06-05stm32系列--同一定时器双通道捕获
     voidTIM3_Cap_Init(u16arr,u16psc)//定时器3通道2输入捕获配置{TIM_ICInitTypeDefTIM_ICInitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;R
  • 2024-06-05stm32系列--低电平时间的测量
     TIM_ICInitTypeDefTIM2_ICInitStructure;voidTIM2_CH1_Cap_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1Peri
  • 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-03STM32系列--串口收发+基本定时器
      if(myusart.reflag>0){Com_Handle();myusart.recount=0;myusart.reflag=0;}main #define_maxbuf100typedefstruct{u8myadd;u8
  • 2024-06-03STM32与陶晶驰串口屏交互
    1、串口屏界面设计1.新建工程保存位置自定义,作为一个合格的嵌入式工程师要有路径下没有中文的情况并命名。选择自己串口屏对应的芯片,一般屏幕背面会有,也可以查看资料。 选择显示方向,自行选择。按照自己的爱好右边可对当前页面重命名。再进行一些基础代码修改。一般
  • 2024-06-02七、FreeRTOS学习笔记-中断管理
    FreeRTOS学习笔记-中断管理中断:让CPU打断正常运行的程序,转而去处理紧急的事件(程序)中断执行机制,可简单概括为三步:1、中断请求:外设产生中断请求(GPIO外部中断、定时器中断等)2、响应中断:CPU停止执行当前程序,转而去执行中断处理程序(ISR)3、退出中断:执行完毕,返回被打断的程序处,继续
  • 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软件重启失败
    现象描述stm32使用NVIC_SystemReset()函数软件重启失败解决方法找到NVIC_SystemReset()的定义,继续跳转至__NVIC_SystemReset函数,将其中的SCB_AIRCR_SYSRESETREQ_Msk修改为SCB_AIRCR_VECTRESET_Msk即可。__NO_RETURN__STATIC_INLINEvoid__NVIC_SystemReset(void){
  • 2024-05-10EC11的中断实验——NVIC&EXTI
    本文隶属于《GD32示波器项目软件部分重难点及相关疑问解决》4-EC11的中断实验——NVIC&EXTI4-1实验目标以及原理图GD32E230外部中断EXTI(中断/事件控制器)包括21个相互独立的边沿检测电路并且能够向处理器内核产生中断请求或唤醒事件。EXTI有三种触发类型:上升沿触发下降沿
  • 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-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