打印

430串口通信问题

[复制链接]
2348|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FS1360472174|  楼主 | 2012-7-17 21:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序欲实现功能,PC端向MCU发字符串,然后在1602上显示
错误:只能显示首位两个字符。
调试:将波特率改为2400,仍然失败;
主频调到8mhz.也不行,
说明;液晶模块调试没问题,求指教
下面是主要代码:
#include  <msp430.h>
#include"cry1602.c"
#include  "cry1602.h“
void InitUART(void);
void PutString(uchar *ptr);
/***************主函数************/
void main( void )
{
    /*下面六行程序关闭所有的IO口*/
    P1DIR = 0XFF;P1OUT = 0XFF;
    P2DIR = 0XFF;P2OUT = 0XFF;
    P3DIR = 0XFF;P3OUT = 0XFF;
    P4DIR = 0XFF;P4OUT = 0XFF;
    P5DIR = 0XFF;P5OUT = 0XFF;
    P6DIR = 0XFF;P6OUT = 0XFF;
    uchar pX=0,pY=0;
    uchar *tishi = "Send data to MCU”;
    WDTCTL = WDTPW + WDTHOLD;     //关狗
    P6DIR |= BIT2;P6OUT |= BIT2;  //关闭电平转换  
    InitUART();                   //初始化UART
    LcdReset();                   //初始化LCD
     PutString(tishi);
    while(1)
    {
        while(IFG1 & URXIFG0)      //如果收到字符
        {
            Disp1Char(pX++,pY,U0RXBUF);
            if(pX == 16)
            {
                pX  = 0;
                pY ^= 1;
            }
        }
    }
   
}
/*******************************************
函数名称:PutSting
功    能:向PC机发送字符串
参    数:ptr--指向发送字符串的指针
返回值  :无
********************************************/
void PutString(uchar *ptr)
{
      while(*ptr != '\0')
      {
            while (!(IFG1 & UTXIFG0));             // TX缓存空闲?
            TXBUF0 = *ptr++;                       // 发送数据
      }
      while (!(IFG1 & UTXIFG0));
      TXBUF0 = '\n';
}
/*******************************************
函数名称:InitUART
功    能:初始化UART端口
参    数:无
返回值  :无
********************************************/
void InitUART(void)
{
    P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
    ME1 |= URXE0 + UTXE0;                             // Enable USART0 T/RXD
    UCTL0 |= CHAR;                            // 8-bit character
    UTCTL0 |= SSEL0;                          // UCLK = ACLK
    UBR00 = 0x0d;                             // 32k/9600 - 3.41
    UBR10 = 0x00;                             //
    UMCTL0 = 0x6b;                            // Modulation
    UCTL0 &= ~SWRST;                          // Initialize USART state machine
}

相关帖子

沙发
捡漏王子| | 2012-7-17 21:42 | 只看该作者
没发现什么问题啊
传个文件给你参考下,应该是可以用的

R3.rar

25.91 KB

使用特权

评论回复
板凳
figo20042005| | 2012-7-17 22:04 | 只看该作者
你串口发过来的数据都能接收到不?先查下

使用特权

评论回复
地板
FS1360472174|  楼主 | 2012-7-17 22:43 | 只看该作者
3# figo20042005 能接收到,只能接收到首位,和末位两个字符

使用特权

评论回复
5
figo20042005| | 2012-7-18 08:46 | 只看该作者
你的串口协议是怎么定义的。你的接收程序应该有问题,找个例程修改下

使用特权

评论回复
6
tianm| | 2012-7-18 09:34 | 只看该作者
能收到两个  问题就不在串口上

使用特权

评论回复
7
mianxi| | 2012-7-18 11:22 | 只看该作者
感谢楼主分享。。。同时强烈鄙视那些看帖不回帖的人!




















-------------------------------------------------------------------------------------------------------------------
汕头宫颈糜烂|汕头宫颈增生|汕头卵巢早衰|

使用特权

评论回复
8
tsxswpu| | 2012-7-30 16:32 | 只看该作者
兄弟你的问题解决了没有啊?

使用特权

评论回复
9
colin111111| | 2012-8-4 19:37 | 只看该作者
10# tsxswpu 他已经解决了

使用特权

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

本版积分规则

3

主题

60

帖子

1

粉丝