打印

MSP430的串口和相应低功耗模式(LPM1)应用 (转)

[复制链接]
1628|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzmm|  楼主 | 2013-3-26 23:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先看看串口的接口,


因为接口是复用的,可以作为IO也可以作为外设接口,所以要在P3SEL做一下设置。
接下来看看串口的设置流程,这点这个430的datasheet说的很清楚,我也很推荐这样的datasheet说明方式,不像有的公司,介绍了很多寄存器,但是这个功能怎么用,从开始初始化,设置寄存器,然后启动该应用没有介绍。这点,应该给MSP430单片机掌声,还有就是TI公司提供了一些简单的例程,可以学习一下,也挺方便大家使用430单片机的,这点蛮好的啊。

这个图片里面的5步就是告诉你怎么设置一个串口,很方便的吧,你只要对照这5步来,就行了。很方便的。
我们需要完成的工作就是第二步的那句初始化USART寄存器。接下来看看相关的寄存器吧。我把程序弄上来,对照程序说比较方便。
1: P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口
2: ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受
3: UCTL0 |= CHAR; // 选择8位字符
4: UTCTL0 |= SSEL0; // UCLK = ACLK(32768HZ
5: UBR00 = 0x03; // 波特率9600
6: UBR10 = 0x00; //
7: UMCTL0 = 0x4A; // Modulation
8: UCTL0 &= ~SWRST; // 初始化UART状态机
9: IE1 |= URXIE0; // 使能USART0的接收中断

第1,2 3 4句程序不解释了,自己看看寄存器就好了,
我主要说一下波特率的设置,在串口调试里面这点,都是比较繁琐的,像51还要和相关的定时器配合使用,
430单片机不需要定时器配合,只要有UCLK时钟就好了,这里时钟是32768HZ。

序第8,9句都是按照上面串口设置流程来的啊,不多了,也简单。我下面复制一段代码,是力天电子的例程里面的,简单说2句。


这里他使用了430单片机的低功耗模式,全局中断打开以后执行了LPM1,这是进入低功耗的一条宏定义,使用起来很方便,其实430单片机低功耗,就是设置一些状态位,然后关闭相应的时钟源,这样以来就降低了功耗,下图说的很明白了啊。我们使用LPM1,那就是说只用SMCLK,ACLK还是激活的,我们串口使用的时钟是ACLK,所以低功耗模式下面还是可以接收数据,然后在中断函数里面将CPU唤醒(就是退出LPM1模式),然后执行LPM1后面的while语句,将接收到的数据发送回PC。上面的例程也正是说明了这点。




相关帖子

沙发
tatata000| | 2013-5-10 22:11 | 只看该作者
**手册解析的很到啊,哪转的?么没看到原链接呢

使用特权

评论回复
板凳
readygo2012| | 2013-5-10 23:30 | 只看该作者
这MSP430的串口和相应低功耗模式把串口接口说的挺详细的,值得看看

使用特权

评论回复
地板
lzmm|  楼主 | 2013-5-11 23:12 | 只看该作者
readygo2012 发表于 2013-5-10 23:30
这MSP430的串口和相应低功耗模式把串口接口说的挺详细的,值得看看

有用就好。

使用特权

评论回复
5
lesheng001| | 2015-10-13 17:48 | 只看该作者
太好了,正在学习MSP430系列单片机,谢谢

使用特权

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

本版积分规则

401

主题

8829

帖子

11

粉丝