博文不知道该怎么开头,我没搞过Arduino,今年五月份研究过一段时间Zigbee,CC2530的Datasheet看过,只是没买模块也没做测试,因为没有什么好的想法,烂脑袋……至于AVR,三年前开始玩的,玩了半年多,吃灰了,再也没碰过,凭着记忆,去回忆过去的点滴时光吧,本文不做任何技术讨论,如果有错误或者纰漏的地方,欢迎指正。
三年前,那时候就是个小屁孩,上大学没多久,开始玩51,用51搞过很多东西,某国产51单片机,STC89C52,大家都懂,内部12分频,慢的要死。不过对于这款51,我感觉最大的好处,在当时来说,便宜,容易上手,资料丰富,下载电路可以自行搭建并且非常容易实现。当然,有个最大的弊病就是速度太慢了,我用12864做了一套图形库,后果可想而知,我们当时戏称“拉窗帘”。
偶然的机会,当时在我面前有两个选择,要么玩32,要么玩AVR,权衡好久,我选择玩AVR,IC的型号为Mega128L,理由有这么几个:
1、STC89C52这个IC缺少很多片内外设,比如IIC、SPI等,如果我直接上STM32,调用库函数的话,可能不会有配置寄存器这么直观明显,也不会对这些外设和通信协议理解透彻,STM32也可以配置寄存器,但是一个从8bitMCU学习者直接上32bitMCU,恐怕自己会吃不消;
2、STC89C52这个IC的IO口是没有输入输出这个概念,STM32的GPIO是有8种模式,而AVR正好介入这两者之间,适合在原有基础上做适度的提升。
基于以上这两点,我选择玩Mega128。
X宝搜索,下单,收货。
买板子的时候顺便买了一个仿真器,板子到手后,第一步是流水灯,我用的IDE是AVRStudio,因为AVRStudio支持在线硬仿,写完程序后直接烧录或者在线仿真就可以,用起来还是非常方便的。
还记得前文我说的我为51写的12864的图形库吧,我把它移植到AVR上,并且优化了代码,窗帘效应没有了,那时候各种高兴。另外,板子的例程里面有ucos移植的步骤,并提供了一个已经移植好的框架,我在框架的基础上做了二次开发,配合我之前做的图形库,High了好长的一段时间。
从Mega128上,我开始探索和学习IC的内核架构,学习它的时钟体系,这也是为我后期学习STM32打下了很好的基础。2011年电子设计大赛,我当时参加比赛,准备了STC12C5A60S2、ATMega128L和STM32F103VC三款IC做主控,因为我在组里是负责程控部分,在前期准备的时候,为STC12C和Mega128均作了一套库,类似于STM32的那种库,这套库不仅支持片内资源,也支持很多片外外设,后期的比赛中,我的128立了大功。
AVRMega128还有一个很大的优点就是proteus的库里面支持它的仿真,话不多说,你懂得。
只是后来很不幸,电脑某次出现问题,整个硬盘都完蛋了,所有的资料,那个晚上,都没了,我当时抱着电脑都哭了,直到现在想想,心里都各种懊悔和难过。
废话不多说了,上几张跟Mega128相关的照片吧
电子匠人 2014-1-3 20:58
让它独守空房了哈哈哈
电子匠人 2014-1-3 20:56
zigbee_904218839 2013-12-15 09:38
DiracFatCat 2013-12-14 12:04