搜索
bottom↓
回复: 2

请求大侠帮忙,为什么这个程序下进去串口调试工具接不到

[复制链接]

出0入0汤圆

发表于 2012-9-13 16:45:24 | 显示全部楼层 |阅读模式
大侠帮忙看一下为什么这个程序下进msp430g2553中从超声波传感器接不到数据?串口调试工具接收部分无显示
#include"msp430g2553.h"

unsigned int a=0;

void UartRegCfg()
{
UCA0CTL1 |=UCSWRST;      //reset UART module,as well as enable UART module
UCA0CTL1 |=UCSSEL_2;     //UART clock is SMCLK
UCA0BR0  |=65;           //Baud N=BCLK/rate,rate=9600,BCLK=SMCLK=8M
UCA0BR1  |=3;
    UCA0MCTL  = UCBRS1;      //UCBRSx=2
UCA0CTL1 &=~UCSWRST;     //UART reset end
}
void UartGpioCfg()
{P1DIR  |= BIT6;
P1DIR  |= BIT2;           //P1.2  UART_TX
P1DIR  &=~BIT1;           //P1.1  UART_RX
P1SEL  |= BIT1+BIT2;      //select P1.1 and P1.2 as UART port
P1SEL2 |= BIT1+BIT2;
}
void UartInit()
{
UartRegCfg();
UartGpioCfg();
}
/************************************************************************
* Function Name : UARTPutChar
* Create Date : 2012/07/27
* Author  :
*
* Description :send a character
*
* Param : cTX is willing to send character
************************************************************************/
void UARTPutChar(unsigned char cTX)
{
UCA0TXBUF=cTX;
while (!(IFG2&UCA0TXIFG));  //waiting UCA0TXBUF is empty
    IFG2&=~UCA0TXIFG;           //clear TX interrupt flag
}
/************************************************************************
* Function Name : UARTGetChar
* Create Date : 2012/07/27
* Author  :
*
* Description :get a character
*
* Param : cRX is willing to get character
************************************************************************/
int UARTGetChar(void)
{
int GetChar=0;
while (!(IFG2&UCA0RXIFG));  //UCA1RXBUF has received a complete character
IFG2&=~UCA0RXIFG;           //clear RX interrupt flag
UCA0TXBUF=UCA0RXBUF;        //back to display
GetChar  =UCA0RXBUF;
while (!(IFG2&UCA0TXIFG));  //waiting UCA0TXBUF is empty
IFG2&=~UCA0TXIFG;           //clear TX interrupt flag
return GetChar;
}
/************************************************************************
* Function Name : UARTPutstring
* Create Date : 2012/07/27
* Author  :
*
* Description :output string
*
* Param : char *str point send string
* return: the length of string
************************************************************************/
int UARTPutstring( char *str)
{
   unsigned int uCount=0;
   do
   {
    uCount++;
    UARTPutChar(*str);
   }
   while(*++str!='\0');
   UARTPutChar('\n');
   return uCount;
}
void SysCtlClockInit()
{
    DCOCTL=0;
    BCSCTL1=CALBC1_16MHZ;
    DCOCTL =CALDCO_16MHZ;
    BCSCTL1|=DIVA_1;    //ACLK =MCLK/2=8M
    BCSCTL2|=DIVS_1;    //SMCLK=MCLK/2=8M
}

void main()
{
WDTCTL = WDTPW + WDTHOLD;  
SysCtlClockInit();
UartInit();
UARTGetChar();
while(1);
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-9-14 16:31:03 | 显示全部楼层
你 UARTPutChar中的cTX 是unsigned char 类型的,而UARTGetChar中的getchar是int型的,会不会是这个原因。

出0入0汤圆

发表于 2012-9-25 10:16:16 | 显示全部楼层
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 07:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表