STM32
文章平均质量分 69
crystal_266
这个作者很懒,什么都没留下…
展开
-
模拟IIC读取SHT30温湿度传感器数据
文章目录1 i2c.c2 i2c.h1 i2c.c/** * @brief SHT30温湿度传感器相关,使用模拟IIC进行数据的读取 * @author lzj * @date 2021-05-09 */#include <stdint.h>#include "sht30.h"#include "crc.h"/** * @brief i2c的延时函数,延时时间要 > 4us * @param 无 * @retval 无 * @not原创 2021-12-05 10:10:34 · 2597 阅读 · 0 评论 -
FreeModbus 在 STM32F1 平台的移植和解析
文章目录1 freemodbus移植1.1 freemodbus介绍1.2 freemodbus移植1.2.1 串口的移植1.2.2 定时器的移植1 freemodbus移植 本文介绍Modbus协议在STM32平台上的移植。1.1 freemodbus介绍 freemodbus是一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该原创 2021-03-17 17:16:40 · 2354 阅读 · 0 评论 -
STM32内部Flash的操作函数
STM32 操作内部Flash的函数接口#include "inFlash.h"#include "stm32f10x_flash.h"/*! * 功 能: 不检查的写入内部Flash * param1: 起始地址 * param2: 要写入的数据指针 * param3: 要写入的数据的个数 * return: 无返回值 */void InFlashWriteNoCheck(uint32_t writeAddr, uint16_t *pBuffer, uint16_t原创 2020-11-13 14:24:35 · 906 阅读 · 0 评论 -
IAP Bootload 和 App 间跳转的代码实现
文章目录1. Bootload 跳转到 App2. App 跳转到 Bootload3. App中设置中断向量表的偏移1. Bootload 跳转到 App jump_to_app.c#include "stm32f10x.h"#include "jump_to_app.h"/* 功 能: 关闭全局中断 */void BoardDisableIrq(void){ __disable_interrupt();}/* 功 能: 使能全局中断 */void BoardEnab原创 2020-11-13 14:22:52 · 2844 阅读 · 3 评论 -
STM32 IAP远程更新
文章目录1. IAP更新机制2. 片内Flash的划分3. 函数和变量的绝对地址定位在IAR中的实现3.1 IAR的扩展关键字3.2 函数的绝对定位3.3 变量的绝对定位3.4 常量的绝对定位3.5 c文件的绝对定位3.6 跨工程固件更新注意事项3.7 共有函数的调用3.7.1 Bootload中的定义3.7.2 App中的调用1. IAP更新机制 IAP即为In APPlication Programming(在应用中编程),一般情况下,设备在出厂时就已经使用仿真器烧录了应用代码,如果在设备使用过程原创 2020-11-13 14:20:07 · 912 阅读 · 0 评论 -
STM32F103 串口 +DMA中断实现数据收发
01 STM32F103 串口DMA + 空闲中断 实现不定长数据收发02文章目录1. 代码讲解1.1 uart_dma.c1.2 uart_dma.h1.3 main.c1.4 stm32f10x_it.c1.5 效果演示 上一篇串口DMA + 空闲中断 实现不定长数据收发 讲了 串口 + DMA空闲中断实现不定长数据收发的功能,除了利用空闲中断实现数据收发,还可以利用DMA的中断实现数据的收发,不同之处原创 2020-11-12 15:50:53 · 16833 阅读 · 36 评论 -
STM32F103 串口DMA + 空闲中断 实现不定长数据收发
文章目录1. 空闲中断1.1 uart_dma.c1.2 uart_dma.h1.3 main.c1.4 stm32f10x_it.c1.5 效果演示1.6 知识补充1.6.1 外设的基地址 DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU原创 2020-11-12 15:03:52 · 27574 阅读 · 50 评论 -
STM32 IO口模式介绍
文章目录1. 输入和输出2. 上拉与下拉3. 推挽与开漏4. 通用与复用5. 使用介绍GPIO_Mode_AIN:模拟输入模式GPIO_Mode_IN_FLOATING:浮空输入模式GPIO_Mode_IPD:下拉输入模式GPIO_Mode_IPU:上拉输入模式GPIO_Mode_Out_OD:通用开漏输出模式GPIO_Mode_Out_PP:通用推挽输出模式GPIO_Mode_AF...转载 2020-04-29 16:46:11 · 1344 阅读 · 0 评论 -
IAR建立STM32F4工程
文章目录1. 官方固件库下载2. 复制相关文件2.1 复制启动文件 .s2.2 复制system相关文件2.3 复制底层驱动文件2.4 复制.icf链接文件2.5 复制中断和配置相关文件3. IAR新建工程并添加工程文件4. IAR工程的修改4.1 工程文件的修改4.1.1 具体单板的选择4.1.2 外部晶振的修改4.2 IAR配置的修改4.2.1 头文件包含路径修改4.2.2 链接文件选择修改4...原创 2020-01-14 11:00:32 · 6977 阅读 · 8 评论 -
IAR基于固件库建立STM32工程
文章目录1. ST官网下载相应的固件库2. 复制启动文件3. 复制 system 相关文件4. 复制 driver 文件5. 复制 .icf 文件6. 复制中断相关文件7. 效果展示 本文以 STM32F103C8T6 为例,进行工程的建立。 本文建立工程的目录如下:1. ST官网下载相应的固件库 可以参考 ST官网下载固件库 - 百度经验 或者 ST官网下载固件库 - CSDN博客...原创 2019-12-18 09:56:25 · 1845 阅读 · 1 评论 -
IAR STM32——printf重定向到串口
文章目录1. 代码实现2. 出错处理&emsp;printf函数在底层是用fputc实现的,可以实现fputc将数据打印到串口。1. 代码实现int fputc(int ch, FILE *f){ /* Write a character to the USART */ USART_SendData8(USART2, ch); // 发送数据 /* Loop until ...原创 2019-12-17 14:52:41 · 2842 阅读 · 0 评论 -
STM32 标准化定义
文章目录1. GPIO1.1 led.h1.2 led.c2. UART2.1 uart.h2.2 uart.c3. I2C3.1 i2c.h3.2 i2c.c4. SPI4.1 spi.h4.2 spi.c1. GPIO 以LED灯为例1.1 led.h#define LED_NUM (3) // LED的数量typedef enum { LED_GREEN = 0, LED_...原创 2019-11-22 12:26:08 · 898 阅读 · 0 评论 -
STM32系统学习——I2C (读写EEPROM)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-11-15 09:57:46 · 3432 阅读 · 0 评论 -
STM32系统学习——SPI(读写串行 FLASH)
一、SPI 协议简介SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。 可与 I2C 章节对比阅读,体会两种通讯总线的差异以及 EEPROM 存储器与 FLASH 存储器的区别。 1、物理层 SPI通讯使用 ...转载 2019-11-15 09:48:32 · 1642 阅读 · 0 评论