跳转到主要内容

STM32

详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!

judy /

一、stm32的pwm输出引脚是使用的IO口的复用功能。

二、T2~T5这4个通用定时器均可输出4路PWM——CH1~CH4。

三、我们以tim3的CH1路pwm输出为例来进行图文讲解(其它类似),并在最后给出tim3的ch1和ch2两路pwm输出的c代码(已在STM32F103RBT6上测试成功,大家放心使用!)。

四、给出了PWM频率和占空比的计算公式。

步骤如下:

1、使能TIM3时钟
<center><img width="600" src="http://mcu.eetrend.com/files/2017-11/wen_zhang_/100009084-30515-1.jpg&q…; alt="详解STM32的PWM输出及频率和脉宽(占空比)的计算"></center>

用于量产烧录的拼接 Bin 文件操作

judy /

<font color="blue"><strong>前言</strong></font>

一般芯片开发过程中,存在 Bin 文件的拼接过程,比如在做 IAP 程序+用户程序过程中,最终烧写 bin 文件或 hex 文件需要将两个或者三个单独编译通过的程序拼接在一起作为最终烧录文件,本文就如何操作做详细说明。

<font color="blue"><strong>示例案例</strong></font>

使用芯片为 STM32F030R8T6,IAP_Boot.bin 是程序 IAP 程序编译后生成的 bin 文件,地址在 0x0800 0000 ~ 0x0800 1FFF;APP.bin 是客户运行程序,地址在 0x0800 2000 ~ 0x0800 FFFF;而整个 Flash 空间将会是 0x0800 0000 ~ 0x0800 FFFF;

<font color="blue"><strong>具体操作</strong></font>

STM32网络通信之DM9000A电路设计

judy /

1 总体描述:

DM9000A的PHY 能够以10BASE-T 的标准在UTP3\4\5或者以100BASE-T的标准在UTP5上接口通信。它的自动协商功能是够自动配置DM9000A最大地发挥出自身性能。它同时支持IEEE 802.3X全双工数据流通信。

2、结构图:
<center><img src="http://mcu.eetrend.com/files/2017-11/wen_zhang_/100008989-30231-1.jpg&q…; alt="STM32网络通信之DM9000A电路设计"></center>

3、硬件电路的设计

STM32 的高速 USB 信号质量测试实现

judy /

STM32 提供了丰富的接口资源,其中包括 USB FS、USB HS、OTG FS 和 OTG HS。对于高速 USB,由于信号速率相对较高。在开发过程中,会对高速 USB 信号质量进行测试,例如运用广泛的眼图测试。STM32 的高速 USB/OTG IP 遵循USB 2.0 规范,能够配合实现眼图等信号质量测试项。本文中,首先介绍眼图等信号质量测试的实现框架,然后以 Cube 软件包中 USB 设备类的 HID 例程为基础,提供软件层面的修改。最后通过 USB 官方提供的 HSETT 工具,一步一步呈现如何使STM32 实现的 USB 设备进入测试模式,以便使其输出用以获取眼图等测试项的信号。

<font color="blue"><strong>一 信号质量测试背景介绍</strong></font>

I2C配置顺序引发的异常案例

judy /

<font color="blue"><strong>前言</strong></font>

在参考Cube软件包中I2C例程后, 根据应用需要新增了一路I2C接口,结果新增I2C无法收发数据。本文主要对问题进行描述,分析产生原因,提供解决方法。

<font color="blue"><strong>一、问题描述</strong></font>

如前言所述,现象表现为I2C无法收发数据。得无法理解之处,在于之前已经完成了I2C的移植工作,并且运行正常。现在遵照正确的方式,新添一路I2C接口,只是更改了对应的I2C接口及引脚,为什么无法收发数据。简化测试程序如下。

利用STM32外部中断驱动四路数字触摸感应传感器模块

judy /

STM32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组位一个单位的,同组间的外部中断同一时间只能使用一个。比如说,PA0,PB0,PC0,PD0,PE0,PF0,PG0这些为1组,如果我们使用PA0作为外部中断源,那么别的就不能够再使用了,在此情况下,我们智能使用类似于PB1,PC2这种末端序号不同的外部中断源。每一组使用一个中断标志EXTIx。EXTI0 – EXTI4这5个外部中断有着自己的单独的中断响应函数,EXTI5-9共用一个中断响应函数,EXTI10-15共用一个中断响应函数。

<strong>程序开发</strong>

其实上面那些基本概念和知识只是对STM32的中断系统有一个大概的认识,用程序说话将会更能够加深如何使用中断。使用外部中断的基本步骤如下:

1.设置好相应的时钟;
2.设置相应的中断;
3.IO口初始化;
4.把相应的IO口设置为中断线路(要在设置外部中断之前)并初始化;
5.在选择的中断通道的响应函数中中断函数。

STM32 的高速 USB 信号质量测试实现

judy /

STM32 提供了丰富的接口资源,其中包括 USB FS、USB HS、OTG FS 和 OTG HS。对于高速 USB,由于信号速率相对较高。在开发过程中,会对高速 USB 信号质量进行测试,例如运用广泛的眼图测试。STM32 的高速 USB/OTG IP 遵循USB 2.0 规范,能够配合实现眼图等信号质量测试项。本文中,首先介绍眼图等信号质量测试的实现框架,然后以 Cube 软件包中 USB 设备类的 HID 例程为基础,提供软件层面的修改。最后通过 USB 官方提供的 HSETT 工具,一步一步呈现如何使STM32 实现的 USB 设备进入测试模式,以便使其输出用以获取眼图等测试项的信号。

<strong>一 信号质量测试背景介绍</strong>

UART 应用异常案例分析

judy /

在 Cube 软件包中,为不同系列 MCU、不同外设提供了对应的例程方便开发参考。其中,针对STM324xG-EVAL 平台提供了 UART 中断发送接收的例程。开发者参考了这个例程进行 UART 功能开发,并且为了实现不间断的接收功能,在接收回调函数中,再次调用中断接收函数。在这种情况下,出现了例程执行异常。本文分析了这种情况出现原因及解决方法。

<strong>问题描述</strong>

测试验证板: STM3240G-EVAL
参考例程路径:
STM32Cube_FW_F4_V1.15.0\Projects\STM324xG_EVAL\Examples\UART\UART_Hyperterminal_IT

【视频】STM32 Nucleo-32开发板概述

judy /

STMicroelectronics STM32 Nucleo开发板让用户可以从各种性能、功耗和功能组合中进行选择,为用户实现新创意、用任何STM32微控制器产品建立产品原型提供了一种成本低廉且灵活便捷的途径。

STM32 Nucleo板无需单独的探测器,因其已集成了ST-LINK/V2-1调试器/编程器。

<iframe height="338" width="600" src="http://player.youku.com/embed/XMjUyMTU5ODczMg&quot; frameborder="0" 'allowfullscreen'=""></iframe>

利用 QuadSPI 外扩串行 NOR Flash 的实现

judy /

<font size="3"><strong>前言</strong></font>

STM32 提供了灵活多样的外扩存储器访问实现。本文中,介绍如何利用 QSPI (QuadSPI) 外扩串行
NOR Flash 存储器。首先对 QSPI 接口功能特性进行介绍,然后分别介绍硬件设计和软件开发。并基于 STM32CubeMX,提供访问 MICRON N25Q128A13EF840F 的实现参考。

<font size="3"><strong>一 实现环境</strong></font>

开发板:STM32F469G-DISCO
开发库:STM32CubeF4 v1.16.0
STM32CubeMX: v4.22.0
集成开发环境:IAR v7.70.1.11486

实现过程在 STM32F469I-DISCO 板上展开,利用板上已有的串行 NOR Flash 存储器(MICRON
N25Q128A13EF840F)。呈现整个开发涉及环节。在本文中,首先根据 QSPI 接口,介绍 QSPI 与外扩串行存储器硬件连接。