STM32

关注340人关注
我要报错
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex?-M0,M0+,M3, M4和M7内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex?-M0 and M0+, Cortex?-M3, Cortex?-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。按内核架构分为不同产品:主流产品(STM3
  • 关于STM32的中断向量表的重映射的问题

    1为什么要对中断向量表进行重新映射?COREM3权威指南上讲“然而,为了动态重分发中断,CM3允许向量表重定位——从其它地址处开始定位各异常向量。这些地址对应的区域可以是代码区,但也可以是RAM区。在RAM区就可以修

  • STM32 控制lcm液晶ILI9341驱动的液晶驱动程序(续)

    在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们!LCD有如下控制线:CS:Chip Select片选,低电平有效RS:Register Select寄存器选择WR:Write写信号,低电平有效RD:Read读

  • STM32串口DMA容易忽视的问题

    昨天晚上在STM32串口DMA的问题上纠结了好长时间,所以今天上午写篇博客来谈谈我对串口DMA发送的理解讨论三个问题:1、什么叫串口DMA 请求;2、串口简要复习;3、串口DMA发送流程。1、什么叫串口DMA 请求(战舰STM32开

    单片机
    2018-12-19
    dma 串口 STM32
  • STM32全球唯一ID读取方法

    产品唯一的身份标识非常适合:● 用来作为序列号(例如USB字符序列号或者其他的终端应用)● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性。● 用来激活带安全

  • STM32之NVIC的深入详解

    朋友们,如果你需要在STM32上移植RTOS,那么首先必须深入理解它的中断系统。什么是NVIC?即嵌套向量中断控制器(Nested Vectored Interrupt Controller)。STM32的中有一个强大而方便的NVIC,它是属于Cortex内核的器件,

    单片机
    2018-12-18
    nvic STM32
  • STM32实验2:IO输入

    端口初始化#include"stm32f10x.h"//PA15voidKEY_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能外设置时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;/

    单片机
    2018-12-18
    io输入 STM32
  • STM32 ADC应用中信号源特性对转换结果的影响

    STM32家族中的所有芯片都内置了逐次逼近寄存器型ADC模块.内部大致框架如下:每次ADC转换先进行采样保持,然后分多步执行比较输出,步数等于ADC的位数,每个ADC时钟产生一个数据位。说到这里,用过STM32 ADC的人是不是

  • STM32 IIC读取AT24C02

    1、数量:I2C1与I2C22、时钟: RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1 |RCC_APB1Periph_I2C2,ENABLE); 3、IO配置为开漏输出,在输入时亦可读取,此处使用功能复用。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO

  • STM32—数组作为被调用函数的入口参数时定义成指针

    STM32—数组作为被调用函数的入口参数时,要两个条件,1:数组首地址2:数组长度在被调用函数中,比如把数据保存到数组pbuffer[ ]中,那么在入口参数定义时要定义成指针u8 *pbuffer,?1而在调用时,比如要保存到tab[

  • STM32定时器之定时时间

    STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总

  • STM32与PID算法

    一、总体原则 PID调试一般原则 a.在输出不振荡时,增大比例增益P。 b.在输出不振荡时,减小积分时间常数Ti。 c.在输出不振荡时,增大微分时间常数Td。二、各环节作用[P]比例调节作用:是按比例反应系统的偏差,系

  • STM32半主机模式

    在keil中编程时常会遇到__use_no_semihosting_swi的警告,这时你就是进入了半主机模式。在嵌入式的编程中你是避免不了使用printf、fopen、fclose等函数的但是因为嵌入式的程序中并没有对这些函数的底层实现,使得设备

  • STM32 USB DFU固件升级必读

    升级代码工程须知建立好工程后,需要做以下几步处理:1、首先点击编译器的”TargetOption”,然后选择Target选项,设置”Read/OnlyMemoryAreas”域的on-chip下的IROM1,修改下载起始地址及大小。我们这里使用0x08005

  • STM32_DAC输出三角波形

    今天讲解“STM32F103 DAC输出三角波形”,比较基础,但对于初次使用该功能的朋友来说,还有有借鉴价值。今天提供并讲解的软件工程,基于昨天的软件工程“DDAC输出三角波形”修改而来。若有疑问,请关注微信公众号“E

  • KEILv5 STM32 程序在APP与BOOTLOADER共用方法

    先将需要共用的程序定义在固定了FLASH地址中:#pragma arm section code=".ARM.__at_0x800F000"void Function(void){}#pragma arm section在Bootloader中调用固定地址的程序:((void (*)(void))0x0800F001)();**

  • STM32 内部flash的读写程序

    /*BaseaddressoftheFlashsectors*/#defineADDR_FLASH_SECTOR_0((uint32_t)0x08000000)/*Base@ofSector0,16Kbytes*/#defineADDR_FLASH_SECTOR_1((uint32_t)0x08004000)/*Base@ofSector1,16Kbytes*/#defineADDR_FLASH_

  • STM32不常见问题记录

    1.无法烧写程序,如果将速度调节到非常低,比如低于10KB/S,则可以烧写。请检查电源,比如开关电源芯片电感焊接短路导致电源出现脉冲,使用万用表无法检测,但是用示波器则可以看清。2.如果偶尔可以烧写或不能烧写,请

  • STM32 USB设备电路设计

    当STM32F105配置为USB设备时, PA9/OTG_FS_VBUS是用来检测presense USB主机的。意法半导体设计评估显示PA9/OTG_FS_VBUS引脚通过一个零欧姆电阻连接到5 VBUS 。有这种方法有两个潜在的问题。该第一电势的问题是, PA9

  • STM32—PWM的产生

    1. TIMER输出PWM基本概念脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用

    单片机
    2018-12-13
    pwm STM32
  • STM32内部时钟设置-寄存器版

    同时要记得把延时初始化函数设置好1 //系统时钟初始化函数2 //pll:选择的倍频数,从2开始,最大值为16 3 //pll:选择的倍频数,这里使用内部时钟,PLL为4就是4分频 4 void Stm32_Clock_Init(u8 PLL)5 {6 unsigned