诗和远方

  cheney

    兴趣、工作、生活,三者能不能有个最好的平衡点呢!有,一定会有的,只是怎样找呢?入门ARM,林老师让我从STM32开始学起。现在用的是一个STM32F100C8的芯片,老师让做LED的扫描点亮和键盘的扫描程序,总共已经快一个月了,还没什么成绩,我自己都不满意。

    先做的键盘扫描的程序,开始就没认真看原理图,上来就直接写学校里单片机常用的那个行列互换扫描法,洋洋洒洒写了200行,很高兴的写完了。之后做LED的扫描点亮,开始都不明白为啥要扫描呢,还专门问了老师一次,真是一点经验都没有啊。之后是扫描方式的研究,我闭门造车的“研究”了很久:

    最开始就是个点亮,我把列全部至低,然后行一排一排的扫。因为行接的是74HC164,我只需要发送一个高电平然后循环八个周期就行了。然后就发现亮度不够,而且不均匀。研究了一天,下班后才想到原来亮度不均匀是因为有的行灯多,有行灯少。每个灯都是并联的,并联之后电阻变小,电压都被分压电阻给分走了,也就不会很亮。于是想到了逐列扫描法,行列都变成动态的。自以为自己很天才,于是就这样写了程序,这样为了点亮一盏灯,我必须控制行列同时扫描到那个灯的坐标。经过我复杂的控制,实现了,但是太暗了,因为每盏灯都要等很长时间才会被点亮一次,所以看起来就暗。之后想到了安列亮的方法,现在就这样做的,把行至好,然后至列,一列里的等同时亮一下,之后是下一列。不过还是有些暗。老师还让我尽量跳过没有灯的坐标,我想了想,安我现在的扫描方法,要实现太难了,又要让老师失望了。

    键盘的程序之后认真看了老师的程序,知道我自己的完全错了,硬件结构完全不一样嘛,原来键盘可以做成各种各样的,仿照重写了。老师看了,说,尽量实现识别同时两个键的。目前还没有思路,不想让老师失望的。。

    对电子产品的开发是很有兴趣的,但是大学确实学得不好,做的太少,导致已深入细节我就变成了白痴。ARM本来是我学习的终极目标,原来就想着从单片机,FPGA,DSP,ARM一步一步走上来,现在看来每一样都深不可测,不是什么递进的关系,STM32就是一个很低端的东东。一直在看STM32,就是操作寄存器,库函数老师不让用的,但一位前辈同事说要看看,看看它怎样实现功能的,这个我一定听话。寄存器就是许许多多的开关,太多了,我每天就沉浸在开开关关之中,还没有胆量去接触操作系统,慢慢来,怕闪腰。

    又搬家了,回头在想,还是太冲动了,没该没这么着急的,也浪费钱。现在住的凑活了,心还是不静,之前想定下来就一定专心搞这个了,水到渠成的事,不是这样。需求很多,拥有的很少。

    博客都很久没有更新了,之前的都是自动更新出来的。我还是不愿意放弃的,或许要变一下,这个主题也不是很合适。等有空吧,哈哈,这句是骗人的。或许哪天冲动一下就换掉了。一手文字一手代码的生活的也不错,这算最闲的一话了,我还走在我的道上。

    不过,生活不是眼前的苟且,生活有诗和远方……