上星期六的下午,琳子姐给我寄的430板子到了。拿来后,我只是拆开来看了看,然后就忙别的事情......这些天事情还真多啊。
然后昨天想玩一玩,首先插进光盘,感慨这光盘怎么先进,直接就连到网络上去——其实我想骂它该死,要是能直接打开多好......后来想想可能资料太多了。不过还好,咱好像已经不担心没网了。
习惯性把所有的资料都翻了翻,下载。
不过最有建设性意义的就是下载了那个IAR。然后安装了,但是对着它,半天不知道是什么。
这事干了一个下午,主要是网速慢,而IAR居然100多M,下了好久。在下的时候我就继续看那些资料,可惜全都是英文的,而且,感觉不是给我这个连它是什么都不知道的菜鸟看的。然后我就把它放开了,我觉得,啥都别说,咱先把例程跑起来再说,所以就只好等这个IAR了。
这个时间里,我开始考虑我的 无线温度传感器 的毕业设计,主要是选择温度传感器......
晚上的时候,吃完晚饭跑图书馆找430的书看。在书库里无意看到一本2009年的 无线电 合刊,这本杂志我很喜欢,就随手抽了下来。坐下来打开一看,发现,还真巧,里头的单片机栏目正好有一个 沈建华老师 的430系列文章。
我很认真地看了一下,基本上就记得IAR的基本操作了。
回来后,因为忙着去想 毕业设计 的事情,然后跑步什么的,乱糟糟的,昨晚想把IAR玩一遍的事情给耽搁了。
第二天起来,跟琳子姐商量了一下51板块DIY的事情,发了个进展贴。然后因为三极管取代继电器的事情,费了一些脑筋,后来还是没搞定,可这回,快中午了。
吃了饭,心想再不能拖沓了。于是拿出借的那本 430的书,还真巧,这书恰好就是 沈建华老师 写的。
不过那本书讲的跟杂志里的没多大区别。
因为我还不懂430的寄存器和编程。所以我没那么大的野心,我只是想把一个例程跑起来。
打开之前准备申请430搜索的几个PDF,找了其中一个比较实用的,然后按照他教的,点开了IAR自带的一个例程。
然后轻车熟路地进行了一遍项目文件建立,设置编译的相关选项,这些都挺顺利的。
唯一有点奇怪的是,我在USB口上那块开发板上看到的那个430,明明是430F1612,可奇怪的是,当我运行时,IAR提示我器件型号错误,而且它居然告诉我应该是430F2274,这个型号我倒是记得,不过那是在另一块板子上的啊。
现在看来,这可能是一块烧写芯片,相当于PL2303或者MAX232。想想也对,据称,现在F1XXXX系列已经逐渐被淘汰,那么,TI拿它来做编程器倒也是很合理的。不管如何吧,设置这一步搞定了。
我看了一眼例程,挺简单的,只是一个点亮P1口的LED,也没太在意。
烧程序进去了......
因为对于KEIL用的比较熟,而这个IAR跟KEIL还是比较像的,我凭感觉找到了单步调试的按键,一步一步来,嘿,怪事了。压根没反应!!
纳尼¥#&×(%&%#……#
在改了几个PIOUT的值以后,我停下来,打开一份USER GUIDE。找到了这个板子的原理图,对啊,那两个LED就是连接在P1.0和P1.2啊。
没办法,我只好去看430的PI口的设置状况,因为我看到有个PIDIR的设置。
这个东西我玩51一年多从没见过。可是,昨天晚上,在一个单片机群里,有个人问了一个问题,还贴了一段程序,我在里面也看到这样的寄存器PIDIR。我当时听他说是51,就答应帮他看看,等他发了资料,我才知道那是一个无线数传模块,只是里面用了51内核的控制器。我看了半天没感觉,只好跟他说不好意思。
所以我看到这个P1DIR的时候我觉得问题可能出在这,于是我就找到了430的资料,果然如此,这是一个设置输出和输入模式的寄存器。
于是我就把所有的IO口都设置为输出模式,灯就亮了。
唯一有点奇怪的是,我发现,这两句话的效果是很不一样的:
P1OUT =0XFF;
P1OUT ^=0XFF;
运行的时候,一个是一直亮着,一个是一闪一闪的。
我不太知道这个^是个什么意思,因为还没看资料。准备待会上图书馆静静看那本书。
---------------
末了,说一下这个开发板的东西。
昨天边等IAR下载的时候,我拿着板子细细在看,一直觉得很是长见识。USB那块板子上的那个白色的条状物,我猜测就是那种片状天线,我只听说过,那是大二的时候,村田在我们学校开讲座,我当时去听了,在他们的资料上看到东西,而第一次见还是昨天。
还有就是那三片很薄很小的27M的晶振。还有一个小的几乎我要很小心才能按动而不至于把整个2500模块压下来的小开关。
至于那几个不知道是0402还是0201的贴片电阻电容就更是小的可以,不过那个我早见过,在我拆开的一个手机锂电池里见过。
另外就是这个IAR软件。
很是欣赏。一开始我还在犯嘀咕,完了,这只有IAR,我上哪找烧写软件去?后来我看着书的介绍,貌似就没提及过这个东西,我就抱着试试的态度,直接照着上面的做,这才发现,IAR估计是已经把这一个功能也集合进去了。而且,最重要的是,程序烧进去后,我还可以单步调试,并且这片子的实际运行情况都是随我的调试过程实时进行的,也就是说,天啊,这里已经带了仿真功能!
自个玩51,我就没用过仿真器,贵啊,买不起。倒是在实验室用WAVE6000时用过。(所以,一开始这430让我很是费解,直到我几乎是凭感觉在调试,才知道原来如此,嘿嘿,灯就是这好处,它再小也好,只要它亮了,眼睛的余光就能察觉。)
而且,我还尝试了一下拔下U口,重新插上,这个时候,430的板子才会自己运行。也就是说,与STC的冷上电烧写程序相比,它是上电冷复位后才能自己运行。
----------------
这就是我的第一篇430笔记,入门任务之点亮LED。
暂时就写到这里,我会抓紧时间看懂怎么玩的。有个朋友跟我说,430跟51相比,内心还是长得比较像的,就是寄存器的设置比较麻烦,如今看来,他说对了。
比如P1 P2口,那可真是麻烦得很,不过,这也是一个全新的理念,谁能想到,它居然把这个IO口设置了如此之多的功能,并且单独抽出了好几个设置的寄存器呢?
玩430,这些才是最有意思的地方,不然跟玩51还有啥区别。