打印

(TI MCU分享)很好很经典

[复制链接]
16996|85
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
reayfei|  楼主 | 2011-7-8 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 reayfei 于 2011-7-27 12:53 编辑

:D感觉身边使用MSP430的客户特别多,网上资料多,参考书籍也很多,便开始评价MSP430系列MCU。
      看到网上开发工具很多,也有免费申请的,便申请了一套学习板。开始学习使用,下载示例代码,修改测试,享受开发的乐趣。
      从硬件结构上比较,51单片机和MSP430单片机都采用冯·诺依曼结构,而PIC单片机则采用哈佛结构。这两种结构各有优点,很难说出谁好谁坏。
      MSP430单片机同样也有MSPX1XX、MSPX2XX、MSPX3XX、MSPX4XX等系列,且每一系列可选型号也很多。从低功耗方面比较,51 的可选型号几乎没有,PIC单片机是低功耗的最低功耗也达个位数uA级,但MSP430单片机则是超低功耗的,最低功耗可达到0.6uA。需要说明一点的是,在执行了休眠指令后,PIC单片机每次唤醒都需要复位一次,所以在超低功耗方面MSP430单片机表现要好点。
      当然MSP430单片机也有它的缺点,在我使用过程中,最大的不便就是位操作。
MSP430“系”出名门,作为一种16位混合信号处理器,其独到之处在于它的超低功耗,又由于其集成了硬件乘法器,信号处理能力比起8位机大大增强,在低功耗市场应用越来越多。尤其在中国,由于有利尔达信息技术公司的全力推广,应用范围更是越来越广,大有统治低功耗市场的架式。跳舞的人多了,本人就耐不住寂寞也想热闹一把。近来做的一个项目用了MSP430,顺便记下、抄下了一些笔记,在此与大家分享一下吧,虽然都很低级,但对于入门来说,不能说没有益处。我一向认为入门最重要,入了门想深入就靠自己造化,但是入不了门或者入错门,纵然你有万千智商也无用武之地。

1.MSP430系列并不是都有FLL、FLL+的,象X14X系列就没有。学习时要对此有个认识,如果有FLL则内部频率就比较稳定可以使用。对于14X系列DCO频率是不稳定的,误差大,所以最好是使用外部晶体

2.MSP430的端口命名从P0---P6,但不是每个器件都有这几个端口,有的器件只有P0--P4,有的只有P1--P6(msp430f147等)。P0口没有功能选择寄存器,这点要注意。

3.timer_A 的捕获/比较引脚和P1,注意是P1,复用,而P1有一个P1SELx的功能选择寄存器,用来选择其作为I/O还是作为timer_A使用

4. XT1、XT2、DCO都可以作为ACLK、 MCLK、 SCLK的时钟源,具体用哪一个可以从寄存器设置。当然你可以ACLK用XT1,MCLK用XT2,SCLK用DCO产生;也可以ACLK、MCLK都用 XT2,或者都用DCO产生也未尝不可,想怎么设置时钟都行,想到那儿就可以做到那儿呵呵

关于DCO分频控制的介绍:运用MOD参数进行调制,调制的具体含义为在32个DCO周期中插入频率为DCO+1的时钟信号,而插入的个数由MOD参数决定,其余为DCO信号,举例如下:
      DCOCTL值为7AH时,DCO频率计算公式 (748×6+825×26)/32=811,748是DCO频率,825是DCO+1频率!!!!  

这个算法是我的理解不知对否,还请高手指点。

5.Timer A当用作连续增计数模式时每个CCRx都可以产生中断,CCR0也没有什么特殊之处,这种方法用来产生多个定时的场合。

6. 430的RAM是个有趣的地方,它的存储一般从0200开始,字节存储没有特别的地方,而字存储就只能从偶地址开始,这点要特别注意,当进行类型变换时必须防止重要数据被覆盖。

7.我的总体感觉是搞清楚了430的时钟系统及其捕获比较的应用,基本就算入门了,其他方面无非就是寄存器设置还有技巧性的应用了,这方面只要做项目就会找到好的办法
评分
参与人数 1威望 +4 收起 理由
永远的不知 + 4 总结的很好,期待楼主更多的好文章。 ...

相关帖子

沙发
kardel| | 2011-7-9 12:12 | 只看该作者
6. 430的RAM是个有趣的地方,它的存储一般从0200开始,字节存储没有特别的地方,而字存储就只能从偶地址开始,这点要特别注意,当进行类型变换时必须防止重要数据被覆盖。

这一点要注意,我先前碰到过,找了好久才找到的问题所在

使用特权

评论回复
板凳
512365098| | 2011-7-9 17:03 | 只看该作者
第4点不太赞同。
原因:1XX系列,ACLK只能由XT1获得;2XX系列可由XT1、VLOCLK、外部时钟获得,其他的还没用过,估计和2XX差不多。

使用特权

评论回复
地板
512365098| | 2011-7-9 17:23 | 只看该作者
令:
还有免费申请学习板的事?介绍一下途径啦,下次看看俺有没有这个荣幸

使用特权

评论回复
5
jayy| | 2011-7-9 22:49 | 只看该作者
羡慕呀

使用特权

评论回复
6
jayy| | 2011-7-9 22:49 | 只看该作者
:handshake

使用特权

评论回复
7
reayfei|  楼主 | 2011-7-10 21:37 | 只看该作者
4# 512365098
在21ic首页TI发布应用方案赢奖品,可以申请免费开发板啊。不过得发布方案的。

使用特权

评论回复
8
sqcumt123| | 2011-7-11 08:52 | 只看该作者
楼主功力不浅,对端口和引脚的应用都是最基础的

使用特权

评论回复
9
reayfei|  楼主 | 2011-7-11 09:50 | 只看该作者
8# sqcumt123
;P

使用特权

评论回复
10
reayfei|  楼主 | 2011-7-11 16:18 | 只看该作者
使用#i nclude "io430x14x.h"和#i nclude "in430.h"来替代#i nclude <msp430x14x.h>
可以使用定义的位变量

可以使用以下方式定义位变量,但是编译器最终还是转换为字节操作:
struct
{
unsigned char WDTIE : 1;
unsigned char OFIE : 1;
unsigned char : 2;
unsigned char NMIIE : 1;
unsigned char ACCVIE : 1;
unsigned char URXIE0 : 1;
unsigned char UTXIE0 : 1;
} IE1_bit;

不推荐使用bitfields,效率很低

使用特权

评论回复
11
reayfei|  楼主 | 2011-7-12 09:38 | 只看该作者
顶一个

使用特权

评论回复
12
yqg80| | 2011-7-12 10:41 | 只看该作者
楼主厉害啊,赞

使用特权

评论回复
13
qixiyi| | 2011-7-12 13:29 | 只看该作者
厉害呀

使用特权

评论回复
14
qixiyi| | 2011-7-13 14:37 | 只看该作者

使用特权

评论回复
15
reayfei|  楼主 | 2011-7-14 12:44 | 只看该作者
:lol

使用特权

评论回复
16
reayfei|  楼主 | 2011-7-15 13:00 | 只看该作者
自己来

使用特权

评论回复
17
reayfei|  楼主 | 2011-7-18 11:08 | 只看该作者
我顶

使用特权

评论回复
18
reayfei|  楼主 | 2011-7-20 13:12 | 只看该作者
:)

使用特权

评论回复
19
pananmao3760675| | 2011-7-20 21:20 | 只看该作者
:)

使用特权

评论回复
20
reayfei|  楼主 | 2011-7-21 15:22 | 只看该作者
:D

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

395

帖子

2

粉丝