首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
stm32硬件压缩算法
2024-10-05
基于STM32的无损压缩算法miniLZO移植,压缩率很高,20KB随机数压缩到638字节,耗时275us
说明: 1.miniLZO是采用C编写的无损压缩库. 2.提供了快速压缩和超快速解压缩能力. 3.比较耗内存,需要64KB内存用于压缩,对于H7这种大内存的,非常合适.或者有外置SRAM/SDRAM的也比较合适,相比内部RAM就是速度稍慢些. 4.用到数据压缩的场合非常多,像以太网,无线数据传输,USB数传,固件升级等场合,通数据压缩可以大大提升实际传输的数据量. 5.miniLZO地址:http://www.oberhumer.com/opensource/lzo/ 工程模板: 链接:ht
STM32 硬件I2C 到底是不是个坑?
/** ****************************************************************************** * @author Maoxiao Hu * @version V1.0.0 * @date May-2015 ****************************************************************************** * < COPYRIGHT 2015 IS
STM32硬件IIC (转)
源: STM32硬件IIC
STM32硬件IIC驱动设计(转)
源: STM32硬件IIC驱动设计 参考: STM32—硬件IIC主机通信 STM32’s I2C 硬件BUG引发的血案(qzm) 解决STM32 I2C接口死锁在BUSY状态的方法讨论
(转)stm32硬件IIC
cube与I2C:https://www.cnblogs.com/121792730applllo/p/5044920.html I2C官网:https://www.i2c-bus.org/standard-mode/ Ⅰ.写在前面 上一篇文章是“STM32F10x_模拟I2C读写EEPROM”,讲述使用IO口模拟I2C总线通信,对EEPROM(AT24Xxx)进行读写操作的过程. 上一篇文章主要内容:I2C协议.模拟I2C底层驱动.EEPROM(AT24Xxx)单字节读写操作. 本文主要内容:
STM32 硬件UART接收超时检测设置
STM32 硬件UART接收超时检测设置 -----------------本文作者"智御电子",期待与电子爱好者交流学习.---------------- 应用场景 在uart应用中有时候需要进行双工通信,主机需要对从机的数据进行接收超时检测,例如modbus协议,主机在接收从机数据在3.5个字节时间后认为数据包接收完毕.那在这种情况下,一般的做法是设置一个定时器,在每接收到一个字节时清零定时器重新计数,直到定时器超过3.5个字节时间后触发中断即默认数据包接收完毕. 以上的定时器设置
浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)(转)
引子 STM32的硬件I2C很多人都对它望而却步.因为很多电工都说,STM32 硬件 I2C有BUG.不稳定.死机等等……最后都使用GPIO模拟I2C. 的确,模拟I2C好用.但是在我看来在一个72M的Cortex-M3的MCU上这样做非常不妥.一般来说I2C是一种慢速总线,就算工作在400kHz的快速模式上,I2C传送每个字节仍需要至少23us——还没有计算地址.起始信号和结束信号的发送.如果使用GPIO模拟的I2C,这23us的CPU时间都在空转中浪费了,而这23us已经可以做不少的事情了,
STM32硬件调试详解
STM32的基本系统主要涉及下面几个部分: 一.电源 1).无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA.VSSA.Vref(如果封装有该引脚)都必需要连接,不可悬空: 2).对于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU: 3).用万用表测试供电电压是否正确.调试时最好用数字电源供电,以便过压或过流烧坏板子.电压最好一步一步从进线端测试到芯片供电端. 二.复位.启动选择 1).Boot引脚与JTAG无关.其仅是用于
STM32硬件IIC操作
Stm32具有IIC接口,接口有以下主要特性 多主机功能:该模块既可做主设备也可做从设备 主设备功能 C地址检测 位/10位地址和广播呼叫 支持不同的通讯速度 状态标志: 发送器/接收器模式标志 字节发送结束标志 总线忙标志 错误标志 个中断向量 可选的拉长时钟功能 具单字节缓冲器的DMA 虽然很多人说STM的硬件IIC不好用,但是对于这么一个设备去探索一下还是很有必要的,指不定哪天就用上了呢, IIC借口一共有九个寄存器,比较重要的几个寄存器分别如下 1. CR1 由这几个位我们可
STM32硬件IIC
/** * @brief 写一个字节到I2C设备中 * @param * @arg pBuffer:缓冲区指针 * @arg WriteAddr:写地址 * @retval 正常返回1,异常返回0 */ uint8_t I2C_ByteWrite(u8 pBuffer, u8 WriteAddr) { /* Send STRAT condition */ I2C_GenerateSTART(macI2Cx, ENABLE); I2CTimeout = I2CT_FLAG_TIMEOUT; /*
STM32 -- 硬件知识
一.网站资源 1.http://www.stmcu.com.cn/ 二.硬件 1.BOOT0 和 BOOT1 1)一般BOOT0和BOOT1跳线都跳到0(地): 只是在ISP下载的情况下,BOOT0=1,BOOT1=0, 下载完成后,把BOOT0的跳线接回0,也即BOOT0=0,BOOT1=0: 2)BOOT0和BOOT1 直接接地就可以了:不影响swd: 2.ST-LINK 和 STM32连接 1)单独供电 SWDIO,SWCLK,GND; 2) 使用st-link供电:SWDIO,
转载:关于STM32硬件I2C读写EEPROM代码实现原理的理解与总结
http://home.eeworld.com.cn/my/space-uid-716241-blogid-655190.html 一.I2C协议简介 I2C是两线式串行总线,用于连接微控制器及其外围设备.两根信号线分别是: 时钟信号线SCL和数据信号线SDA. 二.I2C总线传输时序 2.1 I2C传输协议的三种信号 I2C在数据传输过程中有三种信号类型,分别是:起始信号.结束信号和应答信号. ①起始信号:在时钟信号SCL为高电平时,数据线SDA由高电平跳变为低电平,开始传输数据: ②结束
STM32硬件复位时间
两个参数,,1低电平时间 2低电平压值 1.stm32复位时间 ------ 低电平时间:1.5 至 4.5 ms 2.压值
stm32 硬件错误
进入该模式,程序死机. 一般来说都是内存错误 1. 数组越界,装入数据溢出, 2. 堆和栈设置不当,这里面硬件的堆和栈在汇编文件中,如果有freertos等,重点检查,任务堆栈使用情况,一般任务堆栈溢出的可能性比较大. 重点检查函数,局部变量,减少临时函数,大数组创建,如果有尽量使用静态全局替代. 3. Heap_Size EQU 0x200; 改点释疑:有些人认为调整heap_size大小会导致系统出错,有些人认为堆向上涨,此值不能调大,实际上这个是不正确的,我们看他的名字叫
STM32硬件错误HardFault_Handler的处理方法
https://blog.csdn.net/electrocrazy/article/details/78173558
STM32学习内容和计划
一.STM32学习内容(流程) 1.学习STM32开发流程 ①MDK使用.建立工程.调试等 ②库开发方法 2.学习STM32常用外设开发 ①GPIO ②中断 ③定时器 ④串口 ⑤CAN 3.学习STM32项目开发 ①文件系统 ②GUI ③UCOSIII 4.学习STM32硬件架构 ①内存映射 ②指令执行时间 二.学习计划 1.学习STM32开发流程 完整用时2星期 2.学习STM32常用外设开发 完整用时1-2个月 3.学习STM32项目开发 完整用时1-2个月 4.学习STM32硬件架构 完整
一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
该篇为“啰里啰嗦版”,另有相应的“精简版”供参考 “不到长城非好汉:不做OS,枉为程序员” OS之于程序员,如同梵蒂冈之于天主教徒,那永远都是块神圣的领土.若今生不能亲历之,实乃憾事! 但是,圣域不是想进就能进的呀…… OS融合了大量的计算机的基础知识,各个知识领域之间交织紧密,初来乍到者一不小心就会绕出个死结. 我的方法是:死结就死结,不管三七二十一,直接剪断,先走下去再说,回头我们再把这个剪断的死结再接上. 我们知道,“多任务”一般在介绍OS的书籍中,是属于中间或者靠后的部分,又或者分散在各
浅谈STM32L071硬件I2C挂死
STM32的IIC问题一直存在,在网上也被很多人吐槽,然而FAE告诉我,硬件IIC的问题在F1,F3,F4系列单片机存在,而在L0上已经解决了,然而这几天调试加密芯片和显示芯片,都是IIC芯片,却再一次证明,L0系列的IIC一样存在问题, FAE告诉我是我的配置问题,故写这篇文章,如果是我配置问题,希望得到高人指点,再次感激不尽. 配置代码: void MX_I2C1_Init(void) { hi2c1.Instance = I2C1; hi2c1.Init.Timing = 0x00707C
STM32 & FreeRTOS & KFIFO (巧夺天工)
巧夺天工 的 KFIFO ,用STM32实现. 实现源文件如下: /********************************************************** * * 文件名: kfifo.c * * 文件描述: 该文件包含的kfifo的处理函数 * * 创建人: GXP * * 创建日期: 2016年8月9日16:13:06 * * 版本号: 1.0 * * 修改记录: 无 * * 本文参考博客地址: http://blog.csdn.net/linyt/articl
STM32F10x_硬件I2C主从通信(轮询发送,中断接收)
Ⅰ.写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件.硬件)I2C主机控制从机EEPROM的例子.在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信.但在实际项目中作为I2C从机的应用相对要少的多,本文主要讲述关于[STM32F10x_硬件I2C主从通信]中STM32作为从机的例子. 在学习本问内容之前,如果对I2C协议还不太了解的朋友请先去了解一下I2C协议,或看我之前关于I2C通信的文章(我微信公众号和博客都有). 关于STM32硬件I2C作
STM32 CRC32与对应的软件CRC32(转)
源:STM32 CRC32与对应的软件CRC32 简单实现STM32 CRC32使用 使用前记得使能STM32 CRC时钟 //STM32硬件CRC32 byte数据计算,将数据移到最高位,低位补上FF u32 stm32_crc32_byte(u8 *pBuff, u32 len) { u32 i; u8 buff[]; u32 *p32 = (u32 *)buff; CRC->CR = ; //复位CRC寄存器 buff[] = buff[] = buff[] = buff[] = 0XFF
热门专题
qq第三方登录security
element ui input每行显示两个
cacls和icacls
java打印数组有几种
linux 查找文件名称关键字 替换
socks代理暴露在公网
ad用户 在共享中 新建文件夹权限只有自己
IOS开发 解二进数据第三方库
centos 图形界面卡死
bioconductor 阿里云镜像
git 超前18个版本
element UI 怎么安装
frame标签的使用
mysql从库挂了 如何追平主库数据
openstack对接vmware
TODATE后面的ch和fmt是什么
nvidia-smi找不到命令
openpyxl save消耗内存
aceEditor sql 语法检查
jmeter脚本录制只能录请求头