摘要: 为什么Stm32初始化外设都需要先打开时钟 理由一 由于STM32属于低功耗的MCU,为了降低功耗,STM32的MCU在复位后会把绝大多数的外设时钟关闭,所以当用户需要使用到MCU内部的某个外设,就必须先开启定时器。 理由二 我们知道想要控制硬件,必须控制硬件的寄存器。然而在数字电路中,寄存器的作用 阅读全文
posted @ 2024-07-04 08:52 LeanderPeng 阅读(125) 评论(0) 推荐(0)
摘要: Base64 编码和解码 Base64是一种基于64个可打印字符来表示二进制数据的编码方式。它通常用于在文本数据中传输二进制数据,例如电子邮件和URL。 Base64编码过程 数据分割:将输入的二进制数据按每24位(3字节)一组分割。如果最后一组不足24位,用0进行填充。 每6位一组:将每24位的数 阅读全文
posted @ 2024-06-12 21:59 LeanderPeng 阅读(106) 评论(1) 推荐(0)
摘要: 线程池 线程池简介 线程池是一种多线程设计模式,用于优化并发任务的执行。通过预创建一组线程,可以减少线程创建和销毁的开销,提高系统性能。线程池主要由两个部分组成:任务队列和工作线程。工作线程从任务队列中获取任务并执行它们。 代码结构 线程池的代码结构如下: #ifndef _THREAD_POOL_ 阅读全文
posted @ 2024-06-11 08:56 LeanderPeng 阅读(66) 评论(3) 推荐(2)
摘要: Linux 常用命令 用户切换 // 切换到超级用户 gec@ubuntu:~$ sudo -s [sudo] password for gec: root@ubuntu:~# // root表示超级用户名字 #表示超级用户权限标志 // 切换到普通用户 root@ubuntu:~# su xxx 阅读全文
posted @ 2024-05-12 13:51 LeanderPeng 阅读(51) 评论(0) 推荐(0)