推荐阅读最新更新时间:2024-10-31 17:04
STM32 YMODEM实现bootloader
这几天一直在尝试学STM32 bootloader,在网上查阅了一番,发现实现方法不计其数。于是自己有了想动手实现一番的欲望。 下面请听我细细道来,我选用的芯片是STM32F103ZE系类,该芯片是512k,每页是2k的。 接下来就是你要重点了: 其实bootloader说白了,就是在原有APP程序 再加上另一段程序---bootloader,这个bootloader可以对你flash进行擦写操作。 那么关于STM32具体实现BOOTLOADER步骤是怎么样的呢? 下面我就具体几个细节之处谈谈: 1,如何实现在APP程序跳转到BOOTLOADER程序. 2,既然APP程序可以跳转到bootloader
[单片机]
STM32学习之路-LCD驱动(1)<基础知识>
T T 为了项目,直接就来研究LCD了,一开始很蒙,连一些基础的知识都不懂.记录下这天查资料的一些成果吧 TFT屏的接口模式主要有MCU模式、RGB模式、SPI模式 这是IC ILI9341的内部结构: RGB和MCU的区别: 这次的项目要求是用MCU模式,也就是并行模式驱动. 并行模式又分为8080和6800,两者就时序有区别. 为什么要用I80接口(MCU 8080),因为它操作简单,读写速度快,但是消耗GRAM(显存),一般只用在较小的屏
[单片机]
STM32固件库说明
l 版本 :v2.0.3 l 发布时间 :09/22/2008 l 功能: :给出了STM32微控制器片内所有外设的驱动函数,使用户把更多的时间花在应用程序的开发上,以加快产品上市时间。(实质上是将各种寄存器的参数配置定义成宏,并以结构体的方式给寄存器赋值,这样既方便又易懂) l 特点 : 由函数、数据结构和宏组成,包括了微控制器所有外设的功能特征,还包括了每个外设的驱动描述和应用实例 按照ANSI-C编写的,不受开发环境的影响,仅启动文件取决于开发环境(即程序和数据在寄存器中是如何配置的得根据所使用的开发环境),非常易于移植。 每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。函数和参数名称都进行了标准化(函
[单片机]
初探STM32 SPI2中断接收多组数据的处理方式
一、描述 两块STM32板子之间进行SPI通讯,都使用的是SPI2。主机连续发送多组数据(数据的格式为半字,即16位),从机采用SPI2中断方式接受主机发过来的多组数据。 针对从机中断接受方法我尝试了两种方案: 方案一:从机每接收主机发来的一组数据就进入中断一次,即主机发来几组数据从机就进入几次中断。 方案二:仅当主机发来第一组数据时,从机才触发一次中断,然后关闭中断,以循环接受的方式接受主机发过来的剩下几组数据,当所有数据接受完后,再打开从机的接受中断。 二、程序 因为两种方案的主机程序是一样的,如下: uint16_t ADC_ConvertedValueLocal ; uint8_
[单片机]
操作BASEPRI特殊功能寄存器时无效解决方法(上)
有STM32用户发现在操作BASEPRI特殊功能寄存器时,根本不起作用。比方,它目前配置了几个中断,优先级各不相同,按照STM32CubeMx里的配置分别为2、3、4不等,当他在BASEPRI寄存器里写这几个数字中的任意一个时,发现BASEPRI的数字始终是0,没有任何效果。 我们知道,通过配置BASEPRI寄存器非0值来给系统中的中断响应设置门槛,当中断优先级低于某个级别时将不会得到CPU的响应执行,也就是说只有中断优先级高于某个级别时才能得到响应。下面截图是来自ARM CORTEX M4技术手册中有关BASEPRI寄存器的描述。 从这里可以看到该寄存器的有效配置位有8位,对其写0无意义,或者说放弃设置中断响应门槛功
[单片机]
STM32程序_低功耗设置
STM32F103R8和RC的停机模式的休眠电流还不一样,R8停机模式实测为11uA,RC停机模式实测为30uA,还以为又是我的程序哪里没做好呢,仔细看了PDF,这两个芯片PDF上标的值的确有区别,和我测的值差不多,那我就没有再深究的意义了! 结合下文的高手经验,反复摸索, standby模式1.9uA,PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); stop模式:11uA, PWR_EnterSTANDBYMode(); 实验证明,将IO端口设成IPU/IPD/AIN/PPOUT=1/PPOUT=0/ODOUT=0,电流是基本相
[单片机]
stm32入门——跑马灯(基于stm32f103zet6)
最近开始学stm32,着实感觉到了stm32和51之间的区别,但也有联系,总我感觉32与51之间最大的区别就是在使用某个外设之前,要对该外设进行时钟的使能(以达到降低功耗的目的),和相关配置。 刚学完跑马灯,下面对跑马灯用到的对IO口的配置相关知识分别对应官方库函数和寄存器进行总结。 如有错误或不足,请在下方留言。 文章内容基于正点原子战舰。 IO口的状态 IO口有八大模式:─ 输入浮空( GPIO_Mode_IN_FLOATING = 0x04,) ─ 输入上拉( GPIO_Mode_IPU = 0x48,) ─ 输入下拉( GPIO_Mode_IPD
[单片机]
STM32 ADC基础与多通道采样
12位ADC是一种逐次逼近型模拟数字数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。ADC的输入时钟不得超过14MHZ,它是由PCLK2经分频产生。如果被ADC转换的模拟电压低于低阀值或高于高阀值,AWD模拟看门狗状态位被设置。 ADC通常要与DMA一起使用 这里只是简单的用库配置ADC 不断扫描来实现ADC的应用。 配置DMA: void DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure;//定义DMA初始化结构体 DMA_DeInit(DMA_Channel1);//复位DMA通道1 DMA_InitStructure.DMA_Peri
[单片机]