刻BITTER
码龄10年
求更新 关注
提问 私信
  • 博客:346,995
    问答:5,393
    352,388
    总访问量
  • 101
    原创
  • 355
    粉丝
  • 53
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2015-06-10
博客简介:

刻[苦] 的 blog

博客描述:
开源中国的markdown 是s-h-i-t
查看详细资料
个人成就
  • 获得658次点赞
  • 内容获得66次评论
  • 获得1,929次收藏
  • 代码片获得469次分享
  • 博客总排名18,129名
  • 原力等级
    原力等级
    5
    原力分
    1,315
    本月获得
    24
创作历程
  • 13篇
    2025年
  • 24篇
    2024年
  • 33篇
    2023年
  • 17篇
    2022年
  • 16篇
    2021年
  • 2篇
    2020年
  • 1篇
    2015年
成就勋章
TA的专栏
  • CXX
    9篇
  • Note
    31篇
  • Python
    8篇
  • Circuit
    35篇
  • Cortex-M
    14篇
  • Prototype
    5篇
  • 8051
    7篇
  • Trick
    6篇
  • Linux
    4篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 7

创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

简单快速的浮点数转字符串算法,适合单片机环境

既然能复用显示整数的代码,那么最简单的思路就是把浮点的整数和小数部分分别转换成整数,打印的时候中间加个小数点就好了,只有一个小问题。比如,要把 3.03 转换成两个整数,整数部分 = 3,没问题;小数部分是 03,如果按整数打印,左侧的0 就没了,整体打印出来变成3.3。好在我的整数显示函数功能还比较齐全,可以设置数字右对齐,并且左侧补0。那么只需要在打印小数部分时,设置数字右对齐,且数字长度等于小数精度。比如,打印 3.03,保留两位小数;打印 03 的时候,数字长度设置为2,右对齐,小数部分3 会被
原创
发布博客 2025.05.04 ·
582 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Python 打包兼容Win7 的Qt 程序

之前用PySide6 写了个上位机软件,在Win7 上不能运行,于是整了半天。搜到的回答都是说Python3.9 以后就不兼容Win7 了,所以得降版本到3.8。但是自己的代码降版本容易,库的版本要是降到3.8,新功能都用不了,还可能遇到旧版本的BUG 和性能问题。目前我用的一个核心库要求版本在3.10 以上,老版本不堪用,所以降版本代价挺大的。
原创
发布博客 2025.04.29 ·
367 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Qt6 以后,QSettings 读取ini 文件固定使用utf-8 编码

Qt6 以前,QSettngs 对象有个`setIniCodec` 方法,可以设置编码,但是Qt6 以后就没了,现在ini 文件的读写编码固定为UTF-8。
原创
发布博客 2025.04.17 ·
350 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

HAL 库设置回调成员函数的一种方法

HAL 库都是拿C 写的,想注册回调函数的话,也只能是C 的函数,不能用成员函数作为回调。此外,放在外面的回调函数没办法直接引用到设备驱动对象,必须有个全局的指针变量,让它指向驱动对象,然后回调函数里再使用这个全局的指针去找对象。有了成员变量的地址,就可以根据成员变量在驱动对象中的偏移量,拿到驱动对象的地址。文件里,以后如果改了配置,只要把Cube 新生成的代码复制过来改一下就好了,我可不想在它生成的代码里照着它规定好的格式填空。所以我用的是另一种比较脏的方法,就是直接修改HAL 库的头文件,在。
原创
发布博客 2025.04.06 ·
429 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

PlatformIO 自定义脚本选择编译库源文件 - 设置只用于C++ 的编译选项

PlatformIO 只支持以文件夹为单位选择要编译的源文件,不像Keil 或者CMake,可以手动控制每一个源文件。而且默认只会将库的src文件夹下的源文件全部加入编译。PlaformIO 默认会将src文件夹下的所有源文件加入编译,并且将include文件夹加入包含路径,但是没有简单的方法把mem文件夹加入编译;要只选择mem里面的某一个文件编译,其他的排除,这就更复杂了。而FreeRTOS 就恰好是这样的结构,需要在五个heap_x.c文件里选择一个。src。
原创
发布博客 2025.04.05 ·
996 阅读 ·
12 点赞 ·
0 评论 ·
28 收藏

MT9700 不能用作USB 口电流倒灌保护

RT,就是有外部供电的USB HUB,希望防止外部的+5V 供电倒灌到电脑的VBUS。MT9700 本身只是个USB 口过流保护,它的手册里也没说带倒灌保护,只是功能框图似乎画出来个反向电流检测功能模块,所以我就想试试看,结果是,果然没有这个隐藏功能。下面是MT9700 手册里的功能框图:注意到这个Reverse Voltage Comparator,也就是反向电压比较器。字面上理解,看起来就是如果存在反向电压,就会让MOS 管截止。而反向电压就是由倒灌的电流引起的。
原创
发布博客 2025.03.19 ·
263 阅读 ·
9 点赞 ·
0 评论 ·
3 收藏

AVR 单片机硬件供电处理

供电设计是任何硬件设计的关键一环,直接影响到系统的性能。在设计供电时,有两个重要的方面需要考虑:ESD 防护和噪声干扰。这些内容在 [应用笔记 AVR040](http://ww1.microchip.com/downloads/en/appnotes/atmel-1619-emc-design-considerations_applicationnote_avr040.pdf) 中有更详细的叙述,本文只提供简短的总结。
原创
发布博客 2025.03.02 ·
606 阅读 ·
17 点赞 ·
0 评论 ·
6 收藏

加入二极管的NE555 PWM 电路

R0 阻值等于R2,且远小于R1,所以占空比基本只取决于电位器R1 的位置。可见,这种PWM 电路,高电平对应电容的充电时间,低电平对应放电时间。电容的充电路径上串联了R1 和R2,而放电路径上只有R2,所以放电的时间不可能比充电长。加入二极管就能解决这个问题,用二极管把充电和放电路径分离开,两个路径上的电阻可以独立的调整,占空比也就能随意控制了。这种电路可以用电位器代替两个独立的电阻,使充电时间增加,放电时间就对应缩短,反之亦然,于是方波周期就基本不变,只改变占空比。
原创
发布博客 2025.03.02 ·
784 阅读 ·
12 点赞 ·
0 评论 ·
6 收藏

PY32F002A 20PIN 引脚分配辅助表格

适用于20pin 封装的PY32F002A 单片机,比如TSSOP-20。表格里方便的显示出所有引脚的功能,标记出已经分配的引脚,避免冲突。标记功能全是用条件格式做的,兼容性比较好。下载连接:https://download.csdn.net/download/Etberzin/90403138,0 积分。压缩包里面包含ods 和xlsx 两种格式的表格。推荐用libre office 打开ods 格式的,excel 也能打开。xlsx 格式是从ods 转换的,丢失了条件格式。
原创
发布博客 2025.02.19 ·
344 阅读 ·
4 点赞 ·
0 评论 ·
1 收藏

PY32F002A 20PIN 引脚分配辅助表格

发布资源 2025.02.19 ·
zip

辉芒FMD FT60F011单片机C 语言例程、资料、应用笔记

发布资源 2025.02.13 ·
zip

掌握FreeRTOS 实时内核 - Mastering the FreeRTOS Real Time Kernel(九至十三章)

十三章全文翻译自:《 Mastering-the-FreeRTOS-Real-Time-Kernel.v1.1.0.pdf 》;内核版本:FreeRTOS V10.6.2;原文 repo:FreeRTOS-Kernel-Book;部分复制粘贴自:Mastering-the-FreeRTOS-Real-Time-Kernel-CN; 本文开源协议:CC BY-SA 4.0;
翻译
发布博客 2025.01.25 ·
183 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

掌握FreeRTOS 实时内核 - Mastering the FreeRTOS Real Time Kernel(一至八章)

十三章全文翻译自:《 Mastering-the-FreeRTOS-Real-Time-Kernel.v1.1.0.pdf 》;内核版本:FreeRTOS V10.6.2;原文 repo:FreeRTOS-Kernel-Book;部分复制粘贴自:Mastering-the-FreeRTOS-Real-Time-Kernel-CN; 本文开源协议:CC BY-SA 4.0;
翻译
发布博客 2025.01.25 ·
480 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

CD4017 转换为二进制计数 - 将译码器输出反向转换实现8-3 编码器

3-8 译码器是把3 位二进制数映射成8 个独立输出,但有时又需要把独立输出转换回二进制数,这个功能可以用几个二极管和电阻搭的电路实现。
原创
发布博客 2025.01.12 ·
574 阅读 ·
12 点赞 ·
0 评论 ·
17 收藏

用CD4017 计数器实现单键开关电路

单键开关就是一个轻触按键按一下开、再按一下关,所以需要电路自身有记忆功能,或者说是可以锁存状态,然后每次按键时切换状态。CD4017 刚好就可以实现这种状态锁存、切换的功能。
原创
发布博客 2025.01.06 ·
746 阅读 ·
6 点赞 ·
0 评论 ·
10 收藏

将单色像素值转换成灰阶屏的灰度序列的算法

就是想办法把单色OLED 屏幕的字库转换给灰阶屏用,并且代码中可以根据设置的灰度参数,用一种字体显示出多种深浅颜色。本来感觉会挺复杂的,想了想突然发现其实很简单。
原创
发布博客 2024.11.12 ·
587 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

STM32F1 LL 库和HAL 库在GPIO 上的区别

F0 和F4 系列GPIO 寄存器把输出模式、速度、上下拉之类的配置都用单独的寄存器实现,而F1 系列是全部塞进CRH 和CRL 寄存器里,各个模式之间相互耦合,某一个寄存器位的含义取决于其他寄存器位的值;STM32F1 的LL 库在GPIO_PIN 定义上用了特别的处理,和HAL 库不一样,不能按HAL 库或标准库的惯例处理。,和GPIO 里ODR,IDR 等寄存器的操作对应,而LL 库把pin mask 左移了八位,然后在低8 位和高8 位附加了其他信息
原创
发布博客 2024.11.08 ·
797 阅读 ·
5 点赞 ·
0 评论 ·
13 收藏

AD 单独设置电源焊盘直连铺铜

就是只让电源芯片的地焊盘直连铺铜,其他的地焊盘则默认用十字连接,从而给电源提供大电流通道和散热平面。
原创
发布博客 2024.11.06 ·
1522 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

自己动手给ESP8285 / ESP8266 1MB 编译新版AT 固件

适用于ESP8266 或ESP8285 的1MB 版本,其他容量版本也可以参考,步骤差不多。官网上说可以到github 下载临时编译的固件,但是过去找了就发现,文件都过期了,所以不得不自己编译。而且官方固件的串口引脚都换成了15、13,我的板子上线接在1、3 上,也得自己编译了改引脚。
原创
发布博客 2024.10.29 ·
1302 阅读 ·
30 点赞 ·
0 评论 ·
31 收藏

SysTick 校准寄存器-SKEW-TENMS

如果硬件上提供了精确的参考时钟,TENMS 的值对应SysTick 计时10ms 的重装值,如果TENMS 值为0,表示没这个功能。大概就是,有参考时钟的话,硬件可以自动跟参考时钟比较,计算出10ms 对应的重装值。就是“NO无 REF 参考时钟”,如果值是1,表示没有外部参考时钟,SysTick 只能用CPU 核心时钟,或者内部的其他时钟。通常NOREF 值是1,TENMS 是0,SKEW 是1,表示这些校准功能没完全没用。值为1,表示TENMS 寄存器的值不准。
原创
发布博客 2024.10.22 ·
359 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏
加载更多