推荐阅读最新更新时间:2024-03-16 16:20
STM32 (5) 自己写库 构建库函数雏形1 寄存器结构体定义
前面把基础部分讲得差不多,比如说什么是寄存器,寄存器映射,怎么样来寄存器编程,寄存器编程的时候应该参考官方的什么手册, 前面讲了什么是寄存器 怎么使用寄存器编程 寄存器编程的时候应该 参考哪些手册 接下来我们开始利用固件库编程,今天开始从 最底层开始写库函数 《在零死角玩转STM32》 第九章 l利用我们上节课的历程 下面这些是7个GPIO口的寄存器映射我们到GPIO口的寄存器映射,这些是最底层的东西,我们基本上已经学会了,那么接下来我们 进入固件库编程在真正进入固件库编程之前,我们应该了解固件库与寄存器的联系,参考《零死角玩转STM32F103-霸道》第九章 自己写库构建库函数雏形针对霸道 和指南者 上图是我们
[单片机]
stm32 不断进入串口中断的bug解决方法
在使用stm32的时候,发现usart会莫名的卡在串口中断里,然而串口初始化只配置了RXNE中断,打断点发现不断进入中断却没不是RXNE中断引起的,经过查找资料发现是ORE的问题,2篇博文解决方案如下: http://bbs.21ic.com/icview-160999-1-1.html 及 http://blog.csdn.net/origin333/article/details/49992383 大致原因为开启了RXNE中断之后 ORE也开启了,但是使用USART_GetITStatus却无法读取到ORE的标志位(未使能ERR时),这样也无法消除中断申请,自然一直进入串口中断,如果要消除ORE需要使用USART
[单片机]
STM32之GPIO及第一个STM32程序(跑马灯)
今天来说一说,GPIO,对于我这个新手来说,GPIO就好比我在学习开车之前得学会如何开门一样,由此可以看出这对于我学习STM32 的重要性,好废话不多说,先总结一下STM32F103ZE的开发板里总共有7组IO口,每组IO口有16个IO,即这块板子总共有112个IO口分别是GPIOA~GPIOG。 GPIO的工作模式主要有八种:4种输入方式,4种输出方式,分别为输入浮空,输入上拉,输入下拉,模拟输入;输出方式为开漏输出,开漏复用输出,推挽输出,推挽复用输出。对应的为: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_
[单片机]
STM32小白入门(第15天)-------低功耗
一、低功耗模式 1、概述 2. 身边应用的例子 A. 电脑 A. 小米手环 二、睡眠模式 三、停止模式 关于PWR_EnterSTOPMode的参数PWR_MainRegulator_ON与PWR_LowPowerRegulator_ON的区别: #define PWR_MainRegulator_ON ((uint32_t)0x00000000) #define PWR_LowPowerRegulator_ON PWR_CR
[单片机]
STM32入门开发--按键模块实现按键点灯
1、实现效果 通过I/O口,操作按键,使得按键与LED一一对应,实现按键按下灯亮,再按下灯灭。支持连续按键。 2、实现思路 a. 要实现灯亮,首先应该初始化LED模块的时钟,使得该端口的时钟使能。 b. 初始化按键,按键对应的端口PORTA,PORTE使能,其次设置为输入模式, KEY0,KEY1为低电平有效,KEY_UP高电平有效 硬件图可知,在设计中,应该在内部设置为上拉下拉输入,即KEY0,KEY1为上拉(输入高电平,本身为低电平有效),KEY_UP为下拉(输入低电平,本身为高电平有效)。 根据模式配置图,即要设置GOIPx—ODR寄存器的3/4位为1,才能保证为上拉输入。 c. 实现相应的初始化
[单片机]
stm32 printf 死机
标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数. 例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { USART_SendData(USART1, (uint8_t) ch); while (USART_Ge
[单片机]
程序结构理解(2) 以stm32为例
stm32启动流程分析 这个是一个汇编与c语言结合的流程 stm32入口为 startup_stm32f10x_hd.s (即第一个执行的文件) 在这个文件中首先定义定义CSTACK数据段和.intvec代码段还有全局函数和全局变量 然后就是向量表 在然后就是向量表中的定义了各个函数。 同时复位函数作为程序运行的第一个函数 里面设置了时钟和main入口等 就这样进入了main 然后就调用了各个外设资源 流程大致总结如下 大概意思就这样吧
[单片机]
基于STM32的智能参数测试仪的设计方案
产品检测是生产厂家和用户都关心的问题。在产品生产过程中,检测是必不可少的一部分,有的还是工艺过程的一道工序。电磁继电器是电力系统以及其他电气控制系统中常用的开关元件,它们的可靠性是电力系统和其他电气控制系统可靠运行的重要保证,因此,必须对继电器的特性参数进行准确的测试。电磁继电器的电气参数主要有线圈电阻、触点接触电阻、吸合电压、释放电压、吸合时间、释放时间等。这些参数对研究继电器可靠性、动态性能具有重要意义,是保证其质量特性的重要参数。 1 系统总体架构 1.1 系统硬件结构 系统硬件主要包括UART 串口通信模块、JTAG 接口模块、测试结果显示模块、检测程序存储模块FLASH、检测电路模块以及SRAM 模块。系统总体硬件结构框
[电源管理]