2866|7

28

帖子

5

TA的资源

一粒金砂(中级)

楼主
 

430单片机串口程序 [复制链接]

5芯积分
用串口调试助手调试有发送没有接收,大侠们帮忙看看呗。
#include
void main(void)
{
    unsigned char i;
    P4SEL |= BIT0;                            //设置P4.0为UART1的TXD
    P4SEL |= BIT1;                              //设置P4.1为UART1的RXD
    P4DIR |= BIT0;                              //P4.0为输出管脚
    WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT
    FLL_CTL0 |= XCAP11PF;                     // Configure load caps
  do
    {
      IFG1 &= ~OFIFG;                         // Clear OSCFault flag
      for (i = 0xff; i > 0; i--);             // Time for flag to set
    }
     while ((IFG1 & OFIFG));                   // OSCFault flag still set?
     UCA1CTL1 |= UCSSEL_1;                     // CLK = ACLK
     UCA1BR0 = 0x03;                           // 32k/9600 - 3.41
     UCA1BR1 = 0x00;                           //
     UCA1MCTL = 0x06;                          // Modulation
     UCA1CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
    // ME2 |= UCA1TXIE+ UCA1RXIE;              //使能UART1的TXD和RXD
     IE2 |= UCA1RXIE;                               //使能UART1的RX中断
     IE2 |= UCA1TXIE;                               //使能UART1的TX中断
     _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0, interrupts enabled
}
//  Echo back RXed character, confirm TX buffer is ready first
  #pragma vector=USCIAB1RX_VECTOR
  __interrupt void USCIA1RX_ISR (void)
  {
      while(!(IFG2&UCA1TXIFG));
      UCA1TXBUF = UCA1RXBUF;                    // TX -> RXed character
  }

最新回复

.............  详情 回复 发表于 2014-1-10 14:20
 
点赞 关注

回复
举报

951

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
把你的时钟输出来看看........
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

板凳
 
还有UART参数设置前状态机是不是要复位啊.......你应该参照下官方例程呢....感觉错误挺多的

点评

我这个就是参照官方例程写的  详情 回复 发表于 2014-1-10 09:44
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

28

帖子

5

TA的资源

一粒金砂(中级)

4
 
huixianfxt 发表于 2014-1-9 15:20
还有UART参数设置前状态机是不是要复位啊.......你应该参照下官方例程呢....感觉错误挺多的

我这个就是参照官方例程写的
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

5
 
  for (i = 0xff; i > 0; i--);             // Time for flag to set 延时怎么没按照官方的延时那么短!晶振起振了不?输出来时钟看看呢!你打开了发送中断,中断服务程序呢?中断服务函数的名字,#pragma vector=USCIAB1RX_VECTOR 是不是该USCIA1RX_VECTOR?

点评

不好意思,新手。下面这段函数不是中断服务程序啊 #pragma vector=USCIAB1RX_VECTOR __interrupt void USCIA1RX_ISR (void) { while(!(IFG2&UCA1TXIFG)); UCA1TXBUF = UCA1RXBUF;  详情 回复 发表于 2014-1-10 11:30
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

28

帖子

5

TA的资源

一粒金砂(中级)

6
 
huixianfxt 发表于 2014-1-10 11:01
for (i = 0xff; i > 0; i--);             // Time for flag to set 延时怎么没按照官方的延时那么短!晶 ...

不好意思,新手。下面这段函数不是中断服务程序啊
#pragma vector=USCIAB1RX_VECTOR
  __interrupt void USCIA1RX_ISR (void)
  {
      while(!(IFG2&UCA1TXIFG));
      UCA1TXBUF = UCA1RXBUF;                    // TX -> RXed character
  }

点评

.............  详情 回复 发表于 2014-1-10 14:20
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

7
 
小愤青 发表于 2014-1-10 11:30
不好意思,新手。下面这段函数不是中断服务程序啊
#pragma vector=USCIAB1RX_VECTOR
  __interrupt voi ...

.............

点评

见谅啊,本人是新手。那该怎么改呢  详情 回复 发表于 2014-1-10 15:08
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

28

帖子

5

TA的资源

一粒金砂(中级)

8
 

见谅啊,本人是新手。那该怎么改呢
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表