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之CAN---工作/测试模式浅析

    1 bxCAN工作模式 bxCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活。软件通过对CAN_MCR寄存器的INRQ或SLEEP位置’1’

  • STM32 IAP 在线更新程序问题

    搞了一天才发现 在MDK设置选项中有个"linker"选项卡 ,需要在Project->Options->Linker中将UseMemoryLayoutfromTargetDialog前面的复选框勾上 一切就正常了UseMemoryLayoutfromTargetDialog这个选项有个“分散加载文

  • STM32端口复用与重映射

    STM32上有很多I/O口,也有很多的内置外设,像I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处:很多复用内置的外设的I/O引脚

  • STM32的DMA演示,USART

    #include "stm32f10x_lib.h"#include"stdio.h"#define USART1_DR_Base0x40013804#define SENDBUFF_SIZE10240vu8 SendBuff[SENDBUFF_SIZE];vu8 RecvBuff[10];vu8 recv_ptr;void RCC_Configuration(void);void GPIO_Co

    单片机
    2018-12-28
    usart STM32
  • STM32学习007_Systick使用(二)

    在"嵌入式学习006_Systick使用(一)"中,详细介绍了Systick中寄存器的使用方法,用到了很多函数,实际上到了3.5版本的标准固件库中,移除了相关驱动函数,用户必须调用CMSIS.h中定义的函数,其中CMSIS只提供了一个S

    单片机
    2018-12-28
    systick STM32
  • 简要描述下STM32 定时器对正交编码器进行计数控制的方法

    如图,STM32的每个TIMER都有正交编码器输入接口,TI1,TI2经过输入滤波,边沿检测产生TI1FP1,TI2FP2接到编码器模块,通过配置编码器的工作模式,即可以对编码器进行正向/反向计数。如下图,编码器使用了A,B两相信号

  • stm32的LCD屏幕显示+各个模块功能调试

    从PWM输出实验的工程开始,加入其他各种功能。LCD屏幕显示:一、hardware其中timer是产生脉冲的。二、hallibFMC是一个接口,控制SDRAM和LCD三、#include#include"lcd.h"#include"sdram.h"12四、init()SDRAM_Init();

  • STM32上移植FreeRTOS

    首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇编,当你采用不同的芯片型号时,又要修改不同的xx.S文件,所以我选择修改FreeRTOSconfig.h文件。1. 下载STM32官方源码

  • STM32 UCOS所需最小空间参考

    利用STM32跑UCOS 写了个很简单的程序,编译如下Program Size: Code=24562 RO-data=746 RW-data=88 ZI-data=7456以此推算,小于FLASH小于24K RAM小于8K 根本不能考虑STM32的UCOS,只能祼奔,STM32的FLASH到还好满足些

  • STM32是怎样进入执行中断函数xxx_IRQHandler(void)的

    在STM32单片机的编程当中,中断函数的名称都是xxx_IRQHandler格式的。那当编译程序的时候是怎么知道这是一个中断函数的呢?每个中断都是有入口地址的。程序在执行过程中遇到中断的时候,会先判断这个中断的类型,根据

  • STM32之ADC库函数的介绍

    ADC的基本概念希望各位网友查阅相应的手册,上面对ADC有比较详尽的介绍,包括误差的分析和消除。这里主要介绍ADC的基本库函数的定义和使用。1.ADC_DeInit函数的功能是将外设ADCx的全部寄存器重设为默认值。ADC_DeIni

  • STM32串口设定流程总结

    STM32配置串口需要配置的寄存器包括:1、时钟配置,开启相应IO端口的时钟,以及串口模块的时钟。串口1模块时钟寄存器:RCC_APB2Periph_USART1;串口1的端口是PA9,PA10,对应的时钟寄存器:RCC_APB2Periph_GPIOA;开

  • 初涉STM32之浅谈时钟使能问题

    作为一个STM32的菜鸟级人物,我刚开始接触STM32时,其实和当年开始学习51单片机的心理是一样的。茫然,谁说不是呢?但是,正常的学习途径无非就是看书,然后敲代码,最后烧程序,有问题就check,然后再继续烧,我都怀

  • stm32串口发送数据,丢失字节问题分析

    STM32 串口 发送 必须 先检测 状态,否则 第一个 字节 无法 发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功,使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01

  • STM32用SysTick来做定时器

    1 硬件电路配置这里还是借用前面LED电路我就不贴图片。2 时钟说明SysTick和HCK的时钟频率是一样的库函数代码如下/***@briefInitializeandstarttheSysTickcounteranditsinterrupt.**@paramticksnumberofticksbetweent

  • STM32串口的基本用法

    前言:本来用不到串口,但在最近在读取传感器数据的时候数据发生了错误,被师兄推荐用串口来检查一下究竟读出的数据是什么,因此学习了串口的使用。事实证明,串口很有用,也没有想象中的那么复杂...一、关于串口需要

  • STM32 IAP(在线更新程序)的使用关键点

    所谓IAP其实就相当于一个小小的bootloader 用来更新程序的很多产品基本都是程序做好后就直接在产线烧录一次就OK了,但是,但是BUG有时候是无可避免的,经常有产品装好后又要重新拆外壳 取下板子重新上烧录架烧的惨痛

  • STM32的PWM产生主要工作

    PWM信号的模式,主要做了如下工作1.设定TIM信号周期,该周期就是PWM的周期,后期比较输出在占空比上会有变化2.设定TIM预分频值,分频系数,计数模式3.根据TIM_TimeBaseInitStrcut这个结构体里面的值初始化TIM4.设定TI

    单片机
    2018-12-26
    pwm STM32
  • 关于stm32串口莫名进入中断问题

    stm32串口printf输出,全速执行时老是进入中断入口地址处,如果把中断函数屏蔽掉,全速执行时显示执行B,表示找不到中断入口地址,然后打开中断函数,则又死掉,通过把发送中断使能关闭则显示正常。所以:1、相应串口

  • (五)stm32工程代码HardFault异常查错调试方法

    一、导致异常的原因很多,例如:直接使用未分配空间的指针、栈溢出等一场非法操作便会使程序进入HardFault异常状态。下面介绍怎么找出程序中的异常。接下来在keil_MDK工程中,编译代码,并debug,之后全速运行,可以