推荐阅读最新更新时间:2024-03-16 14:38
STM32学习记录13 ucosII移植
关于如何移植,建立工程的问题已经有很多文档说明了,此处只是说明一下需要修改的文件及修改的原因。 1:os_cpu.h 我们需要对此文件进行修改: 1) void OS_CPU_PendSVHandler(void) 需替换成 void PendSV_Handler(void) 一般我们自己开发基于 stm32 芯片的软件,都会使用标准外设库 CMSIS 中提供的启动文件,比如 startup_stm32f10x_hd.s,而 Micrium 官方没有用 ST 的标准启动文件,而且分开写成了两个.s 文件,即 init.s 和 vectors.s (Micrium\Software\EvalBoards\ST\STM3210B
[单片机]
STM32自学笔记——看门狗
STM32的看门狗有俩个 WWDG和IWDG 两者最大的区别就是IWDG只有一个喂食下限而WWDG顾名思义窗户必须在一个范围内喂食才能保证不会触发复位 一.IWDG(独立看门狗) 1) 取消寄存器写保护( 向 IWDG_KR 写入 0X5555)通过这步,我们取消 IWDG_PR 和 IWDG_RLR 的写保护,使后面可以操作这两个寄存器, 设置 IWDG_PR 和 IWDG_RLR 的值。 这在库函数中的实现函数是: IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 1 这个函数非常简单, 顾名思义就是开启/取消写保护,也就是使能/失能写权限。 2) 设置独立看门狗的预分频
[单片机]
STM32硬件IIC之DMA传输数据
这里咱们说3个点 1.检查IIC总线上是否有指定地址的器件 2.IIC读取数据 3.IIC写数据 下面来一个一个详细说明 1.检查IIC总线上是否有指定地址的器件 1.判断是否总线忙,如果忙则等待 2.产生起始位 3.等待起始位产生完成 4.发送器件地址(这里选择读写都是可以的) 5.等待是否有ACK位回应,(这里有两种判断方法1.通过判断ACK标志2.通过判断ADDR标志),最好使用ADDR标志位 6.清楚ADDR标志位 7.产生停止位 8.通过判断是否有ACK,就可以判断是否有指定地址的器件123456789 2.IIC读取数据 1.判断是否总线忙,如果忙则等待 2.产生起始位 3.等待起始位产生完成 4.发送器件地址,这里方
[单片机]
为何修改BASEPRI寄存器无效?
有STM32用户发现在操作BASEPRI特殊功能寄存器时,根本不起作用。比方,它目前配置了几个中断,优先级各不相同,按照STM32CubeMx里的配置分别为2、3、4不等,当他在BASEPRI寄存器里写这几个数字中的任意一个时,发现BASEPRI的数字始终是0,没有任何效果。 我们知道,通过配置 BASEPRI寄存器非0值来给系统中的中断响应设置门槛,当中断优先级低于某个级别时将不会得到CPU的响应执行,也就是说只有中断优先级高于某个级别时才能得到响应。下面截图是来自ARM CORTEX M4技术手册中有关BASEPRI寄存器的描述。 从这里可以看到该寄存器的有效配置位有8位,对其写0无意义,或者说放弃设置中断响应门槛功
[单片机]
stm32笔记:按键输入(精简版)
C代码 //GPIOA8是 LED0 //GPIOA13是 KEY0 仅包含启动代码 STM32F10x.s #define GPIOA_CRL (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x00)) #define GPIOA_CRH (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x04)) #define GPIOA_IDR (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x08))
[单片机]
意法半导体开始量产STM32 F0系列入门型微控制器
中国,2012年5月15日 ——横跨多重电子应用领域、全球领先的半导体供应商、世界领先的微控制器制造商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)开始量产STM32 F0系列32位微控制器。设计目标是彻底消除8位/16位微控制器在应用上的局限性,性能差距。 意法半导体还推出一套叫做探索套件的STM32F0专用评估板,依托规模庞大的STM32开发生态系统,现在,工程师采用意法半导体的ARM®Cortex™-M0微控制器开发应用万事俱备,能够轻松地将其应用到成本敏感型消费电子和工业产品中。 意法半导体微控制器产品部经理Michel Buffa表示:“现在,STM32 F0系列已进入量产阶
[单片机]
STM32中断与嵌套NVIC快速入门
简介:STM32 中断与嵌套NVIC 快速入门 //==================================================== // STM32 中断与嵌套NVIC 快速入门 // netjob 2008-8-1 //==================================================== STM32中断与嵌套NVIC快速入门 我也是靠看这本书才弄懂的: Cortex-M3 权威指南 Joseph Yiu 著 宋岩 译 其实很简单。 //CM3 有 最多240个中断(通常外部中断写作IRQs),就是 软件上说的 IRQ CHA
[单片机]
浅析STM32 Bootloader设计
设计思想 由Bootloader负责检测SD卡中是否有固件更新所需的BIN文件。如果检测到所需要的BIN文件,则开始复制文件更新固件。更新结束后跳转到指定的地址开始执行最新的程序。可以在论坛的ARM版块找到liklon的帖子:两份简单的 Bootloader 程序。链接为: http://forum.eepw.com.cn/thread/238997/1 帖子里已经共享了两份简单的 STM32 Bootloader程序,一份是利用znFAT进行SD卡上文件操作,第二份是利用FATFS进行文件操作。 知识要点 STM32 内部FLASH的起始地址为0X08000000,Bootloader程序文件就从此地址开始写入
[单片机]