STM32逆向读取片内程序
ec175a8e5a9ceb9eeeb50921d221fbdac8d55a3b5cff60c242952d7ed4e753181243a8018e2be1fcc8483de764a4c86c16f27dad645332d2d71af6ab21c2a2ee9f7754f3aacbe7007e64de5f6e9570a36b650671d4b64838ded1f4376fa8154434cdb82de38578e9a8d501e45351c980d26ff2431e451dcc43f56024b8302ff43f389b16e156f908a0f2623f32d387140e031b371dfe19df252d505fb7ef6dee8b34ddc217cff9b00b7387d5a8be00fa81a7baffc335b975ef6d3416e81eec1556881916be2197e30243daea8eeb5775d2fbad9ad6e843012655eec9619366de5413d014dea2332683ada7a39b2a283d886d16d82527a341b ...
STM32的DMA双缓冲模式实现
cfb4da97c59423192779fe9ccc08bfd92dd07ebec91bc65ee4f1cc4c896f71e3d6cd18635a4b2c0c5ca1b64403c5a3113c6958d8ca41c0b0ccee055d0655011837c971dbfad48597b93c1511d5a75dced000dbf5ee1b41690a4d065dd232a2102a2399dea54eaa8b64d3fabee5693fcaec569be04646fe32cbc75ec1f66339e68833b7dd780db494f58bb1a94842554ab83c9894ceef8b98d9ce74ea935d6208558cb2fbb495b0728a3a4ebd98acdc77e7df23d2ede289951d5c9d362c73ba0da07ebb9ebd4e583985077a2f5d14f30c2a856eba1ac05a268587089b734e717d6003de9adb7871b805459f1f1862474af40965b9a9876483b ...
STM32的定时器触发的固定频率ADC采样(使用DMA)
66a68bdc2e113256dd9ec6a306efb39719e7407cc1b03cc444bd07fce5ef23bba7a06e34b238e4048b06bd1494792e5615302f81ba176854306706409ba9fbe1c6e2f1b31bcebcfeb7e8ed2497aa865ee268ad2ecdb881bbdfc2e4d762905d7937b3c1a9b86c75d737b92779d841e0590bcb8690728f1276ea6121003c7633d31880e634ed97aaaa472a5eec023bdac2a0f40342b66a5d01cc437d55e32a557758ba8565ab20f17fd18f8aa0de8489c0cf1f4e97d4517591e739337829c115b75c08e88485535d841b5a0f535e0f7f577611933ecade31eeaf83fc843a41079ddb8d6b44da41e2fb260b8990639e4b745fbd750ae0026a266 ...
HAL库实现STM32的ADC电压采样(轮询、中断、DMA)
100c7b5d976363d7d19e4a0b90053397033ad0da9bb95e92ec5f3edcebcb2b33ea8d81f836ea9c65ef4670c61214c553a2baaa26e3d4e7db9dad865a3065a106dd1c5695f48fdf61a15b9b529d3ef328f0275c86cae018b1f8d2e186cb823f83aede2362eff578efb334bfffe4b1810414d4544526e18d9d6ec9b7e946f6477973571b0230cd15b3cd684948b6ad6a434ccd8441344b258b2c70b5585d537052b788c181f0667e3c585c04277899439add0c878158d14a7401c10246691a3e0e818192a04b9cbadaf097fb823b1981cce700ab90199c3e1858a63fffe070ccff73a15fd9d13b27627f418334311925eab54c1c2a60ac398bd ...
如何对stm32的程序进行加密
f47422a2169a6adbd4352af3592c5d9038d5532fe5ea12cb460799cf62187f2e6d67ee9e75538aabaca48cc77eeb82786783c16c7cd179987e8280aefac1c6562e255ad2246013c3a068343874cb1dc55e4896db98ee2358602d3418efa03f4b05c11edf19cf389ec3c13bfcbbad80e0d37aa4cfa5424e39e45101677f5361083c737b223ee984cb88efbcee2a2ee20e8b99b66f5a25733df54ebf8360ee46882168c79537be53c7ed6476b3fc1189ceadd3c5aa05ebfc952315e2f1658b5c4995aa8faf6b0dfdd5207326fbbbdbd122c0cf6dca11e0cb47c493e3a29547df72b03aa8470ae42d18aa74e3978d5f78c79038366da5af8628e ...
告别原始UI样式,拥抱Fluent Design风格PyQt / PySide组件库
告别原始UI样式,拥抱Fluent Design风格PyQt / PySide组件库1 简介这是一个使用 PyQt/PySide 编写的 Fluent Design 风格的组件库,支持亮暗主题无缝切换和自定义主题色,搭配 QtDesigner 可以快速开发美观的界面。github 仓库地址为 https://github.com/zhiyiYo/PyQt-Fluent-Widgets ,演示视频可以在哔哩哔哩上观看。
2 安装轻量版 (AcrylicLabel 不可用):
1pip install PyQt-Fluent-Widgets -i https://pypi.org/simple/
完整版:
1pip install "PyQt-Fluent-Widgets[full]" -i https://pypi.org/simple/
如果项目中使用的是 PySide2、PySide6 或者 PyQt6,可以在 PySide2、PySide6 和 PyQt6 分支下载对应的代码。
注意请勿同时安装 PyQt-Fluent-Widgets ...
Python设计可视化库
Python设计可视化库1 matplotlib(静态)Matplotlib 是一个用于创建静态、交互式和动画可视化的Python库。它提供了一个类似于MATLAB的绘图框架,使得用户能够轻松地创建高质量的图表和图形。Matplotlib 广泛用于数据可视化,特别是在科学计算和工程领域。推荐阅读(点击阅读👉):玩转Matplotlib的10个高级技巧
以下是Matplotlib的一些主要特点:
多平台:支持多种操作系统,包括Windows、Linux和macOS。
多种输出格式:可以生成多种格式的图形,如PNG、PDF、SVG、EPS等。
丰富的图表类型:支持线图、散点图、柱状图、直方图、箱线图等多种图表类型。
自定义能力:用户可以自定义图表的各个方面,包括颜色、线型、标记、图例、标题等。
交互式工具:提供了交云式界面,如可以缩放和拖动的图表。
动画支持:可以创建动画图表,展示数据随时间的变化。
扩展性:可以通过扩展包支持更多的功能,如3D绘图等。
优点:
易于解释的数据属性 在分析数据时,快速了解数据分布情况往往非常有用的。例如,如果你想检查拥有最多粉丝的前100名用 ...
Keil生成的Map文件分析及存储使用情况分析
Keil生成的Map文件分析及存储使用情况分析1 引入相信有较大项目开发经验的朋友都曾遇到内存溢出的问题,那么大家都是如何分析这类问题的呢?大家遇到HardFault_Handler 有对map分析过吗?
出现HardFault_Handler原因:
数组越界操作;
内存溢出,访问越界;
堆栈溢出,程序跑飞;
中断处理错误;
解决办法:参考链接:https://blog.csdn.net/electrocrazy/article/details/78173558
首先讲述一下关于map在MDK-ARM中的配置。其实,在MDK-ARM中,我们可以根据自己的情况(不同配置),在map文件中输出对应(我们需要)的内容。默认情况下,输出所有信息。
Project -> Options for Target -> Listing:会看到如下配置界面:
看到上图,相信都应该明白map文件大概有哪些内容了吧?
map文件里面内容大致分为五大类(按照map文件分类的顺序):
1.Section Cross References:模块、段(入口)交叉引用;
2.Removing ...
STM32F103 USB实现虚拟串口及相关问题解决方案
97bd27f48eb7098c827ab9821824ad8798dffabe64f290fca076d8a581cdeb9cfef194f23a54881d2d2d5dc086316309980805af2a9e61c73384592ceb1ff3cc40446550b1bf7636f8be793d94d08faa441bde15693814992a0218d54de2da404a6d37a033c6ae8b817815ea75168ccd0931d2c69cd920fedac398dca9a7b654004a7e98c156f32ab5345e0ce9c6d57eaa3200d2e7da9b23ee525daa4784b2385b574f93ad808ecbf3c9ada4cf76a67eb71a9b97f115713b0d8c55f019d1ce8a525ca931bff4348c13276ed8d24e09f29b5aad7d1b7e1729e72f0d1b9c7d82ff6b379931d943fb6cffebf6f401eb836611ab673a6e46fa5f6 ...
如何实现自定义串口通信协议
如何实现自定义串口通信协议1 什么是通信协议通信协议不难理解,就是两个(或多个)设备之间进行通信,必须要遵循的一种协议。
百度百科的解释:
通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。
2 过于简单的通信协议引发的问题下面这种过于简单的通信协议虽然也能通信,也能传输数据,但存在一系列的问题。
问题1:多个设备连接在一条总线(比如485)上,怎么判断传输给谁?(没有设备信息)
问题2:处于一个干扰环境,你能保障传输数据正确吗?(没有校验信息)
问题3:我想传输多个不确定长度的数据,该怎么办?(没有长度信息)
帧头
温度值
帧尾
5A
一字节数值
3B
3 通信协议常见内容基于串口的通信协议通常不能太复杂,因为串口通信速率、抗干扰能力以及其他各方面原因,相对于TCP/IP这种通信协议,是一种很轻量级的通信协议 ...