搭建工程1、配置工程属性2、确认时钟源3、配置系统时钟4、配置定时器这里选择的定时器为TIM3,定时时间为1ms 把定时器设置自动重装载寄存器 ARR 的值为 1000,设置时钟预分频器为 71,则驱动计数器的时钟: CK_CNT = CK_INT / (71+1)=1M,则计数器计数一次的时间等于: 1/CK_CNT=1us,当计数器计数到 ARR 的值 1000 时,产生一次中断,则中断一次的
STM32的官方工程模板 修改为我们这套教材的:STM32 C++工程模板我使用的 STM32 的版本 : V3.5.0注意:想学习本套 STM32 C++编程 的专栏是有点门槛的。你需要有一点点 STM32 基础 和 一点点 C++ 语言基础。完整的STM32 C++工程模板 的下载地址可以在本篇博客的最下面找到。下面是:将 STM32的官方工程模板 修改为我们这套教材的 STM32 C+
目录一、标准外设概述二、标准外设下载三、文件夹介绍 一、标准外设概述STM32标准外设是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数可以大大减少开发者开发使用片内外设的时间
LL(Low Layer)是ST最近新增的,更接近硬件层,直接操作寄存器。其支持所有外设。今天我们通过STM32CubeMX建立一个LL工程,使用小熊派BearPi开发板,芯片型号为STM32L431RCT6。一、工程建立步骤1、工程初步建立和保存 2、配置时钟源(RCC设置) 3、GPIO引脚功能设置 4、外设初始化配置 5、生成工程源码 6、编写用户程序二、工程建立1、工程初步建立和保存
开发板:秉火-霸道V1 芯片:STM32F103ZET6 GPIO: PB0配置GPIO在右下角搜索框内输入对应的GPIO,图中会闪烁显示,我们配置成输出模式 我们进一步完成GPIO的设置,点击System Core选择GPIO,接着点击图中序号3的位置,会出来GPIO的标签属性 配置 PB0 的默认电平,开漏输出,无上下拉,低速模式。引脚标签为 LED 接着选择 Project Manager
因为有项目需求,需要用到模拟量采集,但是又考虑到抗干扰,故采用专用ADC芯片,用ADUM1411将控制电路和采集电路隔离,并且考虑到IIC的方案采用软件模拟比较占用系统资源,因此确定方案,采用带有SPI功能的ADC128S022;采用DMA的模式自动采集8路adc信号。硬件方案100欧姆电阻必须要有 软件方案读1路adc数据,只需要发送两个字节 第一个字节只需要改变第3-第5位
早期开发STM32,大部分工程师都是基于标准进行开发,如果要换成LL,且需要复用以前代码,该怎么办呢? 下面就来给大家分享一下使用【SPL2LL转换器】实现标准代码迁移为LL的方法,以及相关内容。 1关于LLLL,即STM32Cube Low-Layer,也叫Cube LL、Cube底层等。 开发STM32通常有四种“”,可以阅读之前分享的文章《STM
转载 2024-04-15 14:46:19
216阅读
功能实现:采用定时器PWM功能实现呼吸灯的功能,PWM频率为1KHz,呼吸灯周期为1s准备工作:1、STM32开发板(我的是STM32F103VET6)2、STM32CubeMx软件、 IDE: Keil软件3、按键管脚 : PA0   PC13   4、LED管脚 : PB0   PB1   PB
转载 9月前
737阅读
楼主的原理图有错误:电容应该放到引脚处。要使用stm32f407的adc来采集外部电池电压,电压最大为8.4V,使用电阻分压到2.5V由ADC采集,但是现在有一个问题是:两个分压的电阻选取多大的合适?如果分压电阻太小,功耗会比较大,电阻太大的话则会分压不准确,ADC的输入阻抗会与电阻并联。所以想请教大家STM32的ADC的输入阻抗是多少,外部的分压电阻的阻值如何计算?我从官方看到的ADC的参考电路
转载 2024-08-31 20:21:11
334阅读
开发板使用的是st官方的stm32F207ZG nucleo,遇到的问题是在keil中报错:no target connected到网上找答案,都是说gpio口的问题,让按着reset键改debug 的setting然后再download就好了,试了好久都没效果,遂放弃。还有的说可能是芯片没上电,我想,我这儿插着usb呢,咋会没电。后来在一个群里和网友讨论到凌晨三点半,无果,最后推荐我试一下gnu
转载 6月前
73阅读
问题在我使用st-link对stm32f103c8t6进行调试时,keil显示“No target connected” 我点开设置,发现电脑确实没有检测到设备。探索在网上查找这个问题,发现很多人都是这样解决这个问题的。 1.首先按住板子的复位键 2.点击下载 3.立即松开复位键 可以看到,程序现在能够正常下载了这样用了一段时间,下程序还是不错,能够正常下载,但这样始终还是不够方便,而且这样做只能
所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。(0)  STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块
STM32开发1. 简介2. STM32启动文件3. CMSIS3.1 CMSIS结构3.2 CMSIS框架4. STM32CubeG04.1 STM32CubeG0固件结构4.1.1 Level 04.1.2 Level 14.2.2 Level 2 1. 简介STM32CubeG0 githubCMSIS on GitHubSTM32CubeG0:为STM32G0 Series提供封装官方从
         在对实际应用过程中,ADC的采集大多是多个通道同时采集的,比如同时采集多个传感器的数据,就可能需要我们配置多个通道的ADC采集了,而多通道的ADC采集大多用到了DMA,笼统的讲通过DMA来传输数据不经过CPU,可以有效的为CPU减负,我们在使用时只需要通过CPU完成相应的初始化,而传输本身呢
转载 2024-07-19 08:48:14
1949阅读
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
转载 2024-06-19 19:44:29
461阅读
文章目录一、软硬件版本二、基本配置2.1 时钟配置2.2 打开调SYS中的Debug选项2.3 时基修改2.4 串口配置2.5 配置适配 RT-Thread Nano三、RT-Thread Nano移植3.1 下载源码3.2 整理源码3.3 文件添加到工程3.4 配置 board.c系统时钟配置说明uart_init( )说明动态内存堆说明3.5 startup()的跳转设置3.6 main函数
转载 2024-04-24 16:02:50
1187阅读
第六章STM32Cube固件包第四章我们通过STM32CubeIDE在线下载了一个STM32Cube固件包,STM32CubeMX插件就是利用这个固件包来生成初始化代码的,大家肯定好奇这个固件包里有什么?是做什么用的?和HAL有什么关系?本章节我们就来分析这个固件包。 本章将分为如下几个小节: 6.1、获取STM32Cube固件包; 6.2、STM32CubeMP1固件包目录结构; 6.3、CM
前言博文基于ARM Cortex-M3内核的STM32F103ZET6芯片和标准3.5.0;博文介绍标准中个文件夹的含义和以及一个简单工程的建立;如有不足之处还请博友多多指教;标准的下载标准的获取方式: 第一步:第二步:依次进行下列操作 在下面这个表格里,能看到很多系列的标准,可以根据自己需求选择;这里我选择STM32F10x系列; (下面这个表格是根据芯片选择的,或许有人会有一个疑问:
引言  使用STM32Cube开发东西最怕的就是写的代码太多,为什么呢?因为不会写,我深有体会。SPI通讯是一种常用的常用的通讯方式,同步、串行。同步代表着实时性好,串行代表着接线少,很多的设备愿意采用这种方法,废话少说,关于SPI通讯的由来,基本的原理可以百度,我这里介绍用STM32F103ZET6和W25Q64开发SPI通讯。使用的工具SMT32F103的开发板,SPI连接了W25Q
    关注我的朋友中,初学者比较多,今天就写点基础知识。1写在前面陆续收到一些朋友的问题:1.我是选择寄存器开发STM32,还是标准外设呢?2.你有STM32L0标准外设吗?3.HALLL有什么差异?。。。针对STM32开发使用的嵌入式软件,或者我们说的,可以分为四类:STM32SnippetsStandard Peripheral LibrarySTM32Cub
  • 1
  • 2
  • 3
  • 4
  • 5