2095|1

6822

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

MSP430F5438 的UART程式問題 [复制链接]

本帖最后由 Jacktang 于 2015-11-30 21:33 编辑

請問各位大大我的5438開發板上的UART一直收不到數據
是程式有甚麼問題嗎?

我確定電腦UART有輸出 我有使用其他程式測試

可是IAR用斷點一直觀察不到數據

我是用板上的例程


/******************************************************************************                             
* 文件:   main.c
* 說明:   MSP430F5438的UART設置實驗
*         打開串口調試助手發送據據
*         觀察串口調試助手中接收數據區,數據的變化
* 編譯:   IAR Embedded Workbench IDE for MSP430 v5.10

******************************************************************************/
#include "msp430x54x.h"

/*****************************************************************************
* 函數聲明區
*****************************************************************************/

void Init_RS232(void);

/******************************************************************************
* 變量定義區
******************************************************************************/

unsigned RX_buffer=0;

/*********************************系統主函數據********************************/

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // 關狗
  P5DIR |=BIT4;                           
  P5OUT |=BIT4;
  Init_RS232();                             //串口初始化
  _EINT();                                  //開全局中斷
  LPM1;                                     //進入低功耗模式
}

/******************************************************************************
* 函數名:void Init_RS232(void)
* 功  能:RS232初始化
* 參  數:無
* 返回值:無
******************************************************************************/

void Init_RS232(void)
{
  P3SEL = 0x30;                             // 選擇RS232引腳功能
  P3DIR =BIT4;
  P3DIR &=~BIT5;
  UCA0CTL1 |= UCSWRST;                      // 復位UART狀態機
  UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK
  UCA0BR0 = 0x03;                           // 32kHz/9600=3.41
  UCA0BR1 = 0x00;                           //
  UCA0MCTL = UCBRS_3+UCBRF_0;               // UCBRSx=3, UCBRFx=0
  UCA0CTL1 &= ~UCSWRST;                     // 啟動UART
  UCA0IE |= UCRXIE;                         // 數據接收中斷使能

}

/******************************************************************************
* 函數名:__interrupt void USCI_A3_ISR(void)
* 功  能:UART中斷函數
*         讀出 PC 機傳輸過來的數據並向PC機發送數據
* 參  數:無
* 返回值:無
******************************************************************************/
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
  switch(__even_in_range(UCA0IV,4))
  {
  case 0:break;                             //
  case 2:                                   //
    RX_buffer=UCA0RXBUF;                    //
    while (!(UCA0IFG&UCTXIFG));             //  USCI_A0 TX 緩衝區是否空閒
    UCA0TXBUF = RX_buffer;                  //  串口發送數據,PC 機接收數據
    _NOP();                                 //  設置斷點,觀察接收到的數據 RX_buffer
    break;
  case 4:break;                             //
  default: break;  
  }
}

最新回复

Write IMEI R1.5.9.1  详情 回复 发表于 2015-12-1 10:19
 
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Write IMEI R1.5.9.1
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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