推荐阅读最新更新时间:2024-11-05 19:59
高手带你解析STM32 BSRR BRR ODR 寄存器
一、用法 经常会看到类似如下的宏定义语句,用于对已经初始化后的 IO 口输出高、低电平。 #define SET_BL_HIGH() GPIOA- BSRR=GPIO_Pin_0 #define SET_BL_LOW() GPIOA- BRR=GPIO_Pin_012 其作用类似于如下两个库函数, void GPIO_SetBits(GPIO_Typedef* GPIOx, uint16_t GPIO_Pin) void GPIO_ResetBits(GPIO_Typedef* GPIOx, uint16_t GPIO_Pin) 12 而且实际上这两个库函数就是通过修改BSRR,BRR寄存器的值来实现对 IO
[单片机]
STM32 关于复位类型的判断及软件复位
要想查看复位情况可以使用: //****************************************************************************** // 函数名称: RCC_GetFlagStatus // 功能描述: 检查指定的RCC标志设置与否. // 输入参数: RCC_FLAG:要检查的标志. // 这个参数可以是下面的值之一: // - RCC_FLAG_HSIRDY: HIS振荡时钟就绪 // - RCC_FLAG_HSERDY: HSE振荡时钟就绪 // - RCC_FLAG_PLLRDY:
[单片机]
STM32学习之 assert_failed
/******************************************************************************* 固件函数库通过检查库函书的输入来实现运行时间错误侦测。 通过使用宏assert_param来实现运行时间检测。 所有要求输入参数的函数都使用这个宏。它可以检查输入 参数是否在允许的范围之内。 注: 运行时间检查,即宏assert_param应当只在库在Debug模式下 编译时使用。建议在用户应用代码的开发和调试阶段使用 运行时间检查,在最终的代码中去掉它们以改进代码尺寸 和速度。 如果用户仍然希望在最终的代码中保留这项功能, 可以在调用库函数前,重新使用宏assert_p
[单片机]
STM32 usb_endp.c和usb_istr.c文件分析
有时候总在想,怎么样的学习才是最好的?就像学习USB,到底只要学到会应用就可以了,还是要深入到协议内容和驱动底层呢?经常对别人说自己会某某东西,其实自己也只是一知半解的,只会些应用去糊弄别人。于是总在安慰自己:我只要会做些应用就可以了!!! 下面介绍STM32 USB工程的usb_endp.c文件和usb_istr.c两个文件。 首先是usb_endp.c,这个文件很简单,就是定义了结果几个端点输入输出函数,我的工程只有。 uint8_t USB_Receive_Buffer ; //端点接收数据的缓存 REPORT_COUNT=64 uint8_t USB_Send_Buffer ; //端点发送数据的缓存 volatile
[单片机]
STM32单片机内部EEPROM的读写
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已。STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的。但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的。 STM32L的EEPROM和FLASH是统一编址,操作共用同一个读写电路,所以在EEPROM读写的时候STM32L核对于FLASH的一切访问和操作都将暂停,只有当EEPROM的操作完成后,才继续执行后续代码,在这期间只有EEPROM的读写电路工
[单片机]
STM32之旅4——USART
串口也是用的比较多的,在STM32CubeMX中生成代码后,需要添加一些代码才可以用。 drv_usart.h: #ifndef __DRV_USART_H #define __DRV_USART_H #define USART1_MAX_LEN 64 //接收区长度 #define USART1_BUFF_CACHE_LEN 1 //接收缓冲区长度 extern uint16_t g_usart1_sta; //接收状态 ,最高位为接收完成标志 extern uint8_t g_usart1_buff ; //接收buff extern uint8_t g_usart1_buff_cache ; //接
[单片机]
max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)
1、STM32 硬件SPI max7219 8位数码管显示模块 数码管模块电路图 /***************************************************************** Updated time: 12th,12,2015 Function:通过MAX7219驱动数码管 ******************************************************************/ #include “delay.h” #include “sys.h” #include “usart.h”//串口通信 #define Max7219_pinCLK PAout(
[单片机]
STM32启动文件选择说明
startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx startup_stm32f10x_hd_vl.s 大容量的STM32F100xx startup_stm32f10x_ld.s 小容量的STM32F101xx,STM32F102xx,STM32F103xx startup_stm32f10x_ld_vl.s 小容量的STM32F100xx startup_stm32f10x_md.s 中容量的STM32F101xx,STM32F102xx,STM3
[单片机]