Hui-Shao's Blog

Just do it...

graph LR
    ida1[手机模拟卡片]
    ida2[仅含UID的空卡]
    idb1[读卡器读取原卡]
    idb2[完整卡片数据]
    idc1["数据写入(63扇区)"]
    idc2[得到新卡]
    ida1 -- 复制UID ---> ida2 --- idc1
    idb1 -- 解密 ---> idb2 --- idc1
    idc1 --> idc2

此方法可能可以省去一张空白卡。

注:此文仅作备忘记录。

阅读全文 »

众所周知,在“全国大学生电子设计竞赛培训网”通过每日签到可以领取“赫兹币”,用于兑换礼品等等。

作为白嫖党,肯定不能错过啦(呃,虽然只靠签到集币会很慢)。

自己动手,丰衣足食。这不,博主自己搓了一个自动签到小助手。

阅读全文 »

在编写单片机程序进行 ADC 采样并配合 DMA 传输时,发现单片机仅在启动后第一次采样有效。而进行下一次采样时,单片机卡死。

也就是说,单片机只能进入一次 DMA 中断,而在中断后就无法继续启用 DMA 并进行采样。

在花了亿点点时间后,终于 get 了再次开启采样的正确姿势,故有此踩坑小记。

阅读全文 »

在编写单片机程序时,常常会有这样的需求:

graph LR
   A[监听按键事件中断] -- 按键按下 ---> B[中断回调函数] --> C[执行用户代码]

但是,由于按键抖动等原因,按键中断可能会被意外触发,导致按钮事件重复执行,这不是我们希望看到的。

解决此问题的一个方法,就是“在中断回调函数头部屏蔽按键中断事件,在尾部重新开启中断事件”,以达到防止按钮误触的目的。

本文以 STM32F103C8T6 为例,介绍通过寄存器屏蔽特定线路的外部中断的方法。

阅读全文 »

上个月有个单片机的开发项目,使用了 STM32CubeMX(v6.5.0) 来生成 HAL 库代码,几乎在每次重新生成代码(Re-Generate)时,都会出现卡死的情况,尝试了网上的一些方案并未解决,这里记录下自己的解决办法。

阅读全文 »

找了个时间,把 NexT 主题从 7.x 升级到了 8.x ,期间遇到不少问题,最麻烦的就是这个透明背景的设置了。 首先是 NexT8 把 _custom.styl 的位置进行了更换,需要在其它目录新建一个自定义的样式文件并引入。 其次,原先设置背景透明度的方法失效了,在新主题上不起作用。 更麻烦的是,照着网上大多数教程配置好透明后,在一些部件获得鼠标焦点后,会有白色色块出现并闪烁。 本人经过好一阵研究,终于完美解决,特此分享。

阅读全文 »

最近做的项目之中需要在服务器跑一跑 TensorFlow 模型,在本地测试时使用的是 Python3.9 版本。但服务器上默认安装的 Python 是 3.6 版本,有很多软件包无法安装。因此有必要安装个 Python3.9。同时,为了避免和已安装版本冲突,我决定采用虚拟环境形式。

此教程也适用于安装多个版本的 Python,解决共存问题。

然鹅,这一看似简单的过程出了不少问题,比如无法引入 ssl、无法连接共享库等等。在此记录分享一下。

阅读全文 »

前言

线刷需要“解锁”,稍有些经验的机友大概都听过这句话。

但疑问也随之而来:

虽然 BL 锁的存在保证了 FASTBOOT 下无法刷机,那么是否有办法绕过 BL 锁?

进一步地,还有什么手段防止刷机?

阅读全文 »

前言

刚刚接触单片机,踩了不少坑,记录其中一个

设备环境:DapLink + STM32F407ZGT6

问题:在使用 Keil5 进行硬件调试时,发现代码总是 "跑飞",进不了 main.c,似乎陷入死循环,也找不到指示当前运行位置的 “黄色箭头”。

再提供一个不一样的解决办法。

阅读全文 »
0%