一、新建工程1. 打开 STM32CubeMX 软件,点击“新建工程”2. 选择 MCU 和封装3. 配置时钟 RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器) 选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz 修改 HCLK 的值为 72 后,输入回车,软件会自动修改所有配置4. 配置调
使用STM32CubeMX生成项目首先我们点击CubeMX,进入芯片选择页面,这里根据自己的开发板的芯片型号,自行选择。这里选择自己的芯片双击即可这里我们首先配置系统时钟RCC,时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令,才能够做其他的处理 (点
前言在前面一篇文章中,介绍了如何使用CubeMX来建立一个简单的TCPEchoserver工程。但是在新建CubeMX项目时,是通过直接选择ST的开发板的方式实现的。对于大多数实际的开发场景,可能并不是在ST的开发板上进行的,所以在这篇文章中,我将介绍如何从零开始建立一个以太网工程。 今年ST推出的Nucleo-144板子上集成了以太网接口,所以在本文中,将以STM32F746-Nucelo板为例
转载
2024-06-21 12:55:42
254阅读
目录前景提要STM32工程搭建串口配置100us定时器FDCAN配置Bus-Off处理新消息接收处理发送处理使用Xavier配合测试一下完整工程下载关于用作Classic CAN微信公众号 前景提要CANFD基础知识可参考前篇:Jetson Xavier/XavierNX/TX2 CANFD 配置使用STM32 CANFD 基础知识本篇用起来, 连接关系如下:CAN收发器均选用支持2M及以上CA
一、首先在打开STM32CubeMx时,点击ACCESS TO MCU SELECTOR(选择MCU型号)会进入到选择MCU界面,在搜索框中输入你所使用的MCU型号即可。右边CHECK FOR UPDATES(检查更新)是用来不断更新STM32CubeMX。建议保持最新版本。(该系列例程全部采用STM32F103ZET6进行演示,其它型号在STM32CubeMx中配置基本相同,就是最后接线引脚不同
目录1. Cortex-M 中断1.1 中断简介1.2 中断管理简介1.3 优先级分组定义1.4 优先级设置1.5 用于中断屏蔽的特殊寄存器1.5.1 PRIMASK 和 FAULTMASK 寄存器1.5.2 BASEPRI 寄存器2. FreeRTOS 中断配置宏2.1 configPRIO_BITS2.2 configLIBRARY_LOWEST_INTERRUPT_PRIORITY2.3 c
STM32CubeMX:定时器的开发_README定时器类别:SysTick系统滴答定时器:给RTOS提供时钟节拍基准看门狗定时器:WatchDog实时时钟:RTC基本定时器:TIM6、TIM7通用定时器:TIM2、TIM3、TIM4、TIM5高级定时器:TIM1、TIM8定时器由:可编程预分频器(Prescaler)+主计数器(Counter Period)定时时间=(Prescaler+1)*
转载
2024-10-11 21:57:47
75阅读
STM32 输入捕获工作过程(通道1为例) 通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。输入捕获1滤波器 ICIF[3:0],这个用来设置输入采样频率和数字滤波器长度。其中,fck_INT 是定时器的输入频率(TIMxCLK),一般为 84Mhz
TIM1高级定时器定时器应用之PWM输出1.1 TIM1_CH1N 与 TIM1_CH1 的区别定时器1,它的每一个输出通道都是成对的,即TIM1_CH1N与TIM1_CH1两个一组。TIM1是一个完整的电机控制用定时器外设,TIM1_CH1和TIM1_CH1N,用于驱动上下两个功率管。如果Deadtime为0,则 TIM1_CH1N是TIM1_CH1的反相,如果Deadtime不为0,
转载
2024-10-20 11:00:27
486阅读
前言:本系列教程将外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具:1、芯片: STM32F407ZET6/STM32F103ZET62、STM32CubeMx软件3、IDE: MDK-Keil软件4、STM32F1xx/STM32F4xxHAL库 5知识概括:通过本篇博客您将学到:SMT32定时器输入捕获&nbs
我使用的库函数下面我们介绍输入捕获的配置步骤:1)开启TIM5时钟,配置PA0为下拉输入。要使用TIM5,我们必须先开启TIM5的时钟(通过APB1ENR设置)。这里我们还要配置PA0为下拉输入,因为我们要捕获TIM5_CH1上面的高电平脉宽,而TIM5_CH1是连接在PA0上面的。2)设置TIM5的ARR和PSC。在开启了TIM5的时钟之后,我们要设置ARR和PSC两个寄存器的值来设置输入捕获的
目录 前言准备nucleo-g070RB开发板的简单介绍cube配置IAR工程配置执行程序整个移植工作总结前言 RT-thread近年来频繁出现在嵌入式开发者的视野中,他们的大力推广以及技术支持受到了很多人的广泛支持与关注。本人在去年(还是一个职业小白)也参加了rt的教学实验,体验过env工具的方便以及如何结合stm32cubemx实现快速建立rt工程。不过,rt
今天内容为使用STM32CubeMX配置STM32单片机的外部中断首先:STM32含有一共20条中断/事件线,前面0-15条是供给IO用的,后面四条是有特殊用处的:16:PVD输出 17RTC:闹钟事件 18:USB唤醒事件 19:以太网唤醒事件,而对应IO的16条线就对应的IO的相应编号,比如PA0,PB0,PC0…这些都是零号中断线上的。第二:中断发生的原理顺序,这点很重要,比如设置PA0(中
转载
2024-09-10 22:03:06
115阅读
本文介绍了如何使用 STM32Cube.AI 工具开发嵌入式人脸识别算法。首先,我们将简要介绍 STM32Cube.AI 工具和 STM32F系列单片机的特点。接下来,我们将详细讨论如何使用 STM32Cube.AI 工具链和相关库来进行人脸识别算法的开发和优化。最后,我们提供了一些代码示例,帮助您快速开始实现嵌入式人脸识别算法。1. 简介 STM32Cube.AI 是 STMicroelectr
转载
2024-10-12 11:38:39
274阅读
项目场景:STM32F103系列通过 CubeMX 生成 TIMER 更新中断的驱动程序,实现溢出中断 问题描述:调试模式下的代码运行现象与烧录单板运行时的现象不一致准确来说:调试模式下定时器溢出时可以进入中断,在烧录至单板,复位运行无法正常进入中断根据这个现象,没法持续进入中断的原因,初步怀疑是中断标志没清,为了验证参详,先理论分析分析 原因分析:1、根据《STM32中文参考手册_V10.pd
1. TIMER输出PWM基本概念脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM
转载
2024-09-14 09:48:59
328阅读
skynet自带定时器功能skynet-src/skynet_timer.c,在skynet启动时会创建一个线程专门跑定时器。每帧(0.0025秒/帧)调用skynet_updatetime()1 // skynet-src/skynet_start.c 2 3 create_thread(&pid[1], thread_timer, m); 4 5 static void * 6 t
目录前言一、PWM简介1、含义2、基本原理二、创建项目1、用STM32CubeMx新建工程2、配置RCC和SYS3、配置定时器TIME34、配置定时器TIM45、配置时钟6、生成项目三、Keil编写代码1、定义变量2、打开PWM通道3、在while循环中写入调用代码四、硬件连接五、烧录六、结果七、总结 前言本次实验是使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动
工欲善其事必先利其器。拥有一个辅助测试工具,能极大提高开发项目的效率。STM32CubeMonitor系列工具能够实时读取和呈现其变量,从而在运行时帮助微调和诊断STM32应用,类似于一个简单的示波器。它是一款基于流程的图形化编程工具,类似于LabView或者是Simulink。通过此篇博文,可以快速上手STM32CubeMonitor。下载链接:STM32CubeMonitor - 在运行时测试
前面的博客我们介绍了单通道的模式,现在我们就在此基础之上来讨论下多通道的外部信号触发启动模式。一.外部触发源首先,stm32的adc启动大致分为两种一种软件触发,一种外部事件触发。我们以ADC1为例,线面我们来看看具体有哪些外部信号能触发ADC:如图我们只要是用TIM3_TRGO信号来触发adc。下面我们来介绍下TIM3_TRGO信号。TIM3