什么是最公平的? 时间
今年(2025)五一假期, 总共放假 5 天, 从 1 号至 5 号. 这个假期那也没去, 本想着这个假期做做兼职的, 最近有点缺钱, 终究也还是没有踏出这一步. 也许是懒, 也许还没有真正到非常需要钱的地步. 没有去兼职的同时, 也没有完成什么特别的事, 仅仅是在 2 号时去了附近的 寺庙景点 观看了一小会便离去了, 没有任何游玩的乐趣, 仅仅是因为没有去过和当时闲才去逛逛. 始终对去 游玩 这个概念提不起兴趣, 实在是太累人了, 我更喜欢放假无事无人约束, 自由发挥, 嫌闷就独自一人去外面逛逛. 今天 5 号了, 假期马上结束了, 我心中难免有点点失落. 失落是因为 5 天的假期什么都没做, 什么也没有完成, 兼职计划也落空, 也没有出去游玩. 虽然假期本应是 *休息* 的, *无所事事* 状态的, 没有必要因为没做什么而感到失落. 或许也不是这些原因, 我想更多的可能是因为我自己: 迟迟不行动 如今 25 岁了, 看到世上有太多不公, 我咋不是有钱人的后代呢, 贫穷多生烦恼, 唉~~ 时间 对于每个人来说, 真的是非常非常公平了, 就看每个人如何利用 时间. 时间 真的是非常非常重要, 珍惜每一分每一秒吧~~ 希望往后我能达到状态: Just do it. ...
Emacs 如何调试单片机(嵌入式 Embedded Debug)
概述 本文讲述如何在 Emacs 进行嵌入式调试, 对 MCU 单片机硬件进行调试(比如: STM, HC 等芯片) 说明 大多数入门单片机调试都是从 Keil, IAR Embedded 之类的 IDE 软件. 由于 IDE 这些软件集成了 调试 功能, 导致不知道 编译 + 调试 是如何进行的. 调试底层逻辑: gdb 进行调试. Emacs 调试单片机 安装必要依赖 GitHub - svaante/dape: Debug Adapter Protocol for Emacs Emacs 安装 dape, 然后根据 dape 说明再安装 cpptools Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer 安装 Arm GCC 工具链, 该工具包含 arm-none-eabi-xxx 等命令行工具. 检查 Arm GCC 是否安装成功, 在终端输入 arm-none-eabi-gdb 看有没有输出. ...
移植指南: 移植 PN5190(NFC) 至任何 MCU 芯片
NXP PN5190 是一款 NFC 前端芯片, 主要用于 NFC 交互数据使用. 废话不多说, 直接开搞. PN5190 软件库说明 链接: PN5190_NFC支付前端 | NXP 半导体  PN5190 官方软件库, 复制需要的文件夹内容: Platform >> DAL RTOS (根据 MCU 系统提取, 如果 MCU 没有系统, 那么就 仅仅编译 NullOS 文件夹) NxpNfcRdLib Examples >> NfcrdlibEx4_MIFAREClassic(根据自己需要的例子) 定义 项目宏(Symbols) PH_OSAL_NULLOS (根据自己需求定义 OS) NXPBUILD_CUSTOMER_HEADER_INCLUDED (必须的) PHDRIVER_XXXXPN5190_BOARD (XXXX 芯片随便命名, 例如 PHDRIVER_EFR32PN5190_BOARD) 文件添加(MCU)板子定义 修改文件 NfcrdlibEx4_MIFAREClassic/ph_NxpBuild_App.h 内容: 添加宏到位置: #define NXPBUILD__PHHAL_HW_PN5190 // TODO 自己添加 修改文件 Platform/DAL/cfg/BoardSelection.h 新增内容: #ifdef PHDRIVER_EFR32PN5190_BOARD #endif 新建 MCU 实现所需文件 Platform/DAL/boards/Board_EFR32Pn5190.h(主要模仿 Board_K82F_PNEV5190B.h 定义一些引脚内容) ...
移植指南: 移植 ST25R391x(NFC) 至任何 MCU 芯片
本文测试使用的芯片是: ST25R3918, 采用 I2C 进行通讯. 芯片参考链接 ST25R3918 软件支持 软件库 至任何MCU芯片指南–硬件.zh-cn/ST25R3916 RFAL.png) 官方示例代码 软件库手册说明 链接: https://www.st.com.cn/zh/nfc/st25r3918.html#documentation 文件: 开始移植 复制软件库所有文件(ST253916RFAL) 到项目 建议复制一个最简单示例检查芯片是否工作: 打开文件 en.STSW-ST25RFAL002/doc/rfal.chm 的 example 这是建议检查 NFC 芯片最简单的例子了, 后面如果已经识别到了卡片, 那么就根据 参考官方示例项目 拿自己需要的示例 复制文件: STM32L476RG-Nucleo\Applications\X-NUCLEO-NFC06A1\polling\analogConfigTbl_NFC06A1.c 复制文件: STM32L476RG-Nucleo\Applications\X-NUCLEO-NFC06A1\polling\Inc\rfal_platform.h 这个文件就是定义 ST25R391x 芯片如何工作, 以及编译所需内容, 用户必须根据自己的芯片进行修改这个文件 将 st25r3916Isr() 函数放到 IRQ 引脚发生中断被调用的函数里面 参考官方示例项目: STM32L476RG-Nucleo\Applications\X-NUCLEO-NFC06A1\polling (不需要复制这个项目的所有文件) 更多详细内容, 请查看 用户手册文件 调试 NFC 芯片是否在扫描设备 使用 示波器 识别到天线部分有 频率/压降 输出, 那证明 芯片 在工作, 可以使用 手机模拟 NFC 尽量靠近天线部分, 等待检测, 可以放久一点, 一般天线部分好的话, 那么可以到手机放在那里 示波器波形会有变化 ...
(读)原子习惯
原子习惯, 长期微小的改变能带来巨大改变. 习惯有好习惯和坏习惯, 人总是要往后的方面去改进, 但坏习惯已经在生活方方面面. 培养好习惯是困难, 不如将目标换成 戒掉坏习惯. 习惯是一种固定程序或定期实施的行为,且在许多情况下,是自动执行的, 就像吃饭一样不需要思考, 手跟进嘴巴就张开, 这个过程完全是自动. 人们很容易高估某个决定性时刻的重要性,也很容易低估每天进行微小改进的价值。 成功与失败之间的差距会随着时间的延续而不断扩大。无论你朝哪个方向努力,它都会予以增益。好习惯使时间成为你的盟友,坏习惯使时间成为你的敌人。 习惯的成效总是在某一刻砰然爆发的, 都是由之前的日积月累的成果, 也许他人只看的了现在的成功, 却不知为此付出的努力. 就像竹子一样, 竹子在生长的头五年几乎看不到,因为它在六周内向上猛蹿90英尺之前一直在地下建立四处蔓延的根系。 怎么坚持一个习惯的进行呢? 忘记目标,专注于体系. 目标是关于你想要达到的结果,而体系是涉及导致这些结果的过程。 目标的意义在于确定大方向,但体系会促进你的进步。 实现一个目标只会暂时改变你的生活。这正是改进这个概念违反直觉之处。我们本以为需要改变我们的结果,其实结果并不是导致问题产生的根源。真正需要改变的是导致这些结果的体系. 习惯就像我们生活中的原子。每个基本单元都对你的整体进步有所贡献。起初,这些细微的惯常举动看起来微不足道,但很快它们就开始相互依存,为更大的胜利注入了动力,其翻倍扩张的程度远远超过了最初投入。他们微小但很强大。这就是“微习惯”一词的含义,也就是说,它是一种有规律的练习或惯常举动,本身微不足道且简单易行,却是不可思议的力量之源;它也是复合增长体系中的一个组成部分。 目标不是阅读一本书,而是成为读者。 目标不是跑马拉松,而是成为跑步者。 目标不是学习一种乐器,而是成为音乐家。 每当你想改变你的行为时,你可以问自己几个简单的问题: 1.我怎样才能让它变得明显? 2.我怎样才能让它有吸引力? 3.我怎样才能让它变得容易? 4.我怎样才能让它令人愉悦? 习惯是一种行为,因为重复的次数已经足够多,便可以自然而然地出现. 建立一种习惯总是困难的, 可以多多利用周围环境来限制坏习惯的发生, 比如想戒掉 刷短视频 的坏习惯, 可以把视频软件锁起来看不到的地方, 让它减少出现, 难以找到它和点开它. 比如你特别想刷视频容,但是你必须做更多的锻炼才行: 1.在我掏出手机后,我要做十次立卧撑跳(需要)。 2.在我做了十次立卧撑跳之后,你才能刷视频。 对于培养好习惯, 还可以进行习惯叠加: 例如: 冥想。每天早上我倒完咖啡后,我会沉思1分钟。 健身。脱下上班穿的鞋后,我会立即换上我的运动装。 习惯叠加公式是: “继[当前习惯]之后,我将[新习惯]。” 好习惯将会延伸下去……. 不仅如此, 培养好习惯的最有效方式之一就是加入一种文化,在这种文化中,你偏爱的行为被认定为是正常行为。 因为你觉得还有人陪着你做同样的事, 此事没有什么好羞耻的, 也会触发个人的动力, `我也可以成为他那样 xxxx` 我们不是完美的人, 长久坚持是困难的, 难以坚持时, 试着提醒自己严格遵守一条简单的规则:绝不错过两次。 如果错过了两次, 就又是一种习惯了, 习惯了认为: 错过没有什么大不了的, 就又回到了起点 ...