从零开始的客制化87键机械键盘01--立项
系列全部文章
从零开始的客制化87键机械键盘03--PCB打样从零开始的客制化87键机械键盘02--硬件设计从零开始的客制化87键机械键盘01--立项
还有半年就要毕业了,在做毕业设计之余,我准备客制化一个87键机械键盘。键盘用STM32做主控,USB type-C做接口,以基本操作为最低目标。当然了,由于主专业的毕业设计和第二专业的毕业论文,留给这个项目的时间不会太多,项目的开发周期会(geng)有(xin)半(wan)年(quan)之(sui)久(yuan)。
1 项目初衷最初决定做键盘是在1月初的时候。当然,一开始想做的并不是键盘,而是一个USB-to-Bluetooth的转换器(如下图),这样就可以在iPad上用机械键盘了。
转换器的主控同样是准备采用STM32,毕竟STM32作为我比较熟悉的MCU,不仅功能强大,而且有过几次基于STM32系统的制作经验。
这时候,本着“不如搞个大事情”的原则,我就想着不如直接做个机械键盘吧。就这样,我踏上了从零开始的客制化87键机械键盘不归路。
项目软件调通之后会将硬件原理图、封装库和STM32的程序发布到我的GitHub,敬请期 ...
关于Spring框架的IOC和DI的理解
Spring框架的详细内容就不赘述了。(也实在不是谦虚,主要是刚了解没几天,对Spring的框架完全没有概念)
下面来说说我,一个初学者,对DI的理解。
1.假如没有Spring,Java中实例化对象一般都是调用构造器。这样,每个对象实例化的时候都要执行一遍实例化的流程。 2.现在,有了Spring框架,可以使用依赖注入DI,将一些Java类预先进行实例化,并保存为对象模版。而之后的每次实例化都可以直接调用已经实例化成功的对象模版。
个人认为,当某一类实例化次数较多时,可以有效地减少系统运行的时间。同时,这也可以减少服务器的物力资源压力。假如某一服务要被调用一万次,那么这个service类就会被实例化一万次;而使用了IOC和DI之后,一方面,实例化一万个对象的时间可以节约下来,另外一方面,bean在生命周期结束会释放资源,减轻了服务器的资源压力。
这个是我今天看了Spring框架之后的理解。
123if (大犇.发现错误()) { 大犇.println(错误);}
STM32基础_GPIO流水灯
从一个月前开始学习STM32,对于MCU的理解也更加深入透彻。今天开始就陆续将自己在学习中的经历发布到这里(当然,更新随缘)。
1 流水灯实验原理LED模块的原理图如图1所示:
从原理图中可以很清楚地看出来,只有把左边引脚设成低电平,LED灯就会被点亮,否则,LED灯处于熄灭状态。因此,STM32的作用就是按一定规律把GPIOD的2、3、4、7引脚拉低拉高。
2 管脚配置STM32的管脚和8051MCU相比,功能更加丰富。STM32的管脚可以设置成不同的功能,成为“分时复用”,具体请移步ST提供的DataSheet和参考手册。
同时,不同于51MCU的流水灯程序(以AT89S52为例):
12345678910111213#include #include void delay(unsigned int nCount);void main(void){ P1 = 0xfe; while(1){ P1 = _crol_ (P1,1); //循环左移函数,在intrins.h中定义 delay(5000); } ...