2135|1

6767

帖子

19

资源

纯净的硅(中级)

MSP430F5438低功耗下通过串口接收唤醒问题

有什么原因会导致串口接收唤醒不管用,我这个初始化的函数有问题吗,求各位大神指点。
程序里面各个低功耗模式似乎没有什么区别,比如LPM0和LPM4都会进入定时器中断,而定时器时钟设置的是SMCLK,有人知道是什么情况吗?


void Init_UART3_CFG(unsigned long ulBaudRate)
{
  unsigned  int n=0;//
  float x=0.0;
  UART3_SEL    |= TXD + RXD                                      ; // 选择引脚功能
  UART3_DIR    |= TXD                                            ; // 选择引脚功能
  put_UART3_UCSWRST(1)                                           ; // Enabled. USCI logic held in reset state.
  put_UART3_UCSSEL(UCSSEL_SMCLK)                                  ; //
  n=UART3_ACLK_FOSC/ulBaudRate;
  if (n<16)   
  {
    put_UART3_UCOS16(0);            //低频率模式
    put_UART3_UCBRF(0);             //小数分频配置            
    x=1.0*UART3_ACLK_FOSC/ulBaudRate;
    n=UART3_ACLK_FOSC/ulBaudRate;
    put_UART3_UC0BR1(n/256);         //波特率
    put_UART3_UC0BR0(n%256);
    x=x-n;
    n=(int)(x*8+0.5);
    put_UART3_UCBRS(n);             //小数分频配置
  }
  else  
  {
    put_UART3_UCOS16(1);            //高频率模式
    x=1.0*UART3_ACLK_FOSC/ulBaudRate/16;
    n=(int)x;                        // n=UART3_ACLK_FOSC/ulBaudRate/16
    put_UART3_UC0BR1(n/256);         //波特率
    put_UART3_UC0BR0(n%256);
    x=x-n;
    n=(int)(x*16+0.5);
    put_UART3_UCBRF(n);             //小数分频配置            
    put_UART3_UCBRS(0);             //小数分频配置            
  }
  put_UART3_UC7BIT(0)                                             ;//默认,8位数据传输
  put_UART3_UCPEN(0)                                              ;//无校验
  put_UART3_UCSWRST(0)                                            ;// USCI reset released for operation.
  put_UART3_UCRXIE(1)                                             ;// Receive interrupt enable
  put_UART3_UCTXIE(1)                                             ;// Receive interrupt enable
  RS485_A3IN;
}
这个是串口初始化,主程序就是一段程序后进入低功耗,然后如果有串口数据就进行唤醒,但是为什么我的程序在低功耗LPM0,LPM3下进入不了串口中断,在正常运行的时候是可以的,另外有一个问题就是同样设置都是SMCLK,为什么LPM3下定时器能够进入中断而串口进入不了。


回复

405

帖子

0

资源

一粒金砂(高级)

每个低功耗模式都是有区别的,看下图: 例如不同的低功耗模式其对应的唤醒动作不一样,这就需要你自己去看芯片手册了。
在进入低功耗的时候,注意要打开全局中断
852.PNG


回复
您需要登录后才可以回帖 登录 | 注册

关闭
站长推荐上一条 1/6 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表