0%

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

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

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

阅读全文 »

在编写单片机程序进行 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。同时,为了避免和已安装版本冲突,我决定采用虚拟环境形式。

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

阅读全文 »

前言

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

但疑问也随之而来:

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

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

阅读全文 »

前言

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

设备环境:DapLink + STM32F407ZGT6

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

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

阅读全文 »

Python 处理默认参数值的方式或许是少数的几个能绊倒大部分初学者的问题之一(虽然一般只会绊倒一次)。

问题引入

前一阵子,在利用 Python 实现对服务器某接口进行请求时,需要传入 datetime ,该接口以传入的时间作为查询数据的依据。

于是我定义了类似下边这样一个函数:

1
2
3
def query(_time: datetime = datetime.now()):
# to do something
pass

我想要每隔一段时间进行一次查询,因此我在运行过程中多次调用 query(),但是结果却出乎意料,服务器返回的内容总是相同!

阅读全文 »