4502|5

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

430与PC通信 [复制链接]

//*******************************************

#include <msp430xG46x.h>
#include "delay.h"
void uart_send(unsigned char data_point[],unsigned char n);
void Intial_CPU()
{
unsigned int i;
WDTCTL=WDTPW+WDTHOLD; //开机复位前要先关看门狗,WDTPW=0x5a00;
FLL_CTL0 |= XCAP14PF; // Configure load caps
FLL_CTL1 &= ~XT2OFF; // Clear bit = HFXT2 on
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0x47FF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
FLL_CTL1 |= SELM_XT2; // MCLK = XT2
_EINT();
}

void main(void)
{
unsigned char Data[3]={0x12,0x13,0x15};
//unsigned char *p=Data;
Intial_CPU();
P4SEL |= 0X03; //P4.0,4.1用作UXART1 TXD/RXD
P4DIR |= 0X01; //P4.0输出
ME2 |= UTXE1+URXE1; //使能UXART0 TXD/RXD接受/发送允许
UCTL1=0x11;//CHAR+PENA+SWRST+PEV+SPB,无校验,字符长度8位,校验允许
UTCTL1 |= SSEL1; //UCLK=ACLK,不能采用MCLK
UBR01=0X6D; //在1MHz下进行9600波特率通信
UBR11=0X00;
UMCTL1=0X03; //波特调整
UCTL1 &=~ SWRST;
IE2|=URXIE1; //使能UXART0 RX接受中断允许 // 全局中断使能
uart_send(Data,3);
while(1)
;
//for(;;)
//{
//_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/interrupt
//while (!(IFG2 & UTXIFG1)); // USART1 TX buffer ready?
//TXBUF1 = RXBUF1; // RXBUF1 to TXBUF1
//;
//}
//uart_send(p);
//uart_send(temp);
}


void uart_send(unsigned char data_point[],unsigned char n)
{
unsigned char *a=data_point;
while(1)
{
while(!(IFG2&UTXIFG1)) //等待当前数据是否发送完成
;
if(data_point==a+n)
break;
TXBUF1=*data_point;
data_point++;
}
}
//串口接收中断

#pragma vector=USART1RX_VECTOR//msp430fG4619
__interrupt void usart1_rx(void)
{
if(!(IFG2 & URXIFG1))
TXBUF1=RXBUF1;
//while((UTCTL1&0X01)==0)//将接受到的数据发送完才中断
// ;
//DELAY(1);
}
这是我写的一段程序,在别的计算机上通过串口调试可以收发,但换了台计算机怎么都不行,很郁闷,请各位大虾帮助!!!

最新回复

_EINT();全局中断在cpu初始化中设置了  详情 回复 发表于 2010-6-22 12:33
 
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
计算机的串口,波特率有没有设置好呀!
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
设置好了,上位机能够接受数据,但是上位机发数据给430,430就不能进入中断,同样的程序在别的计算机上就没问题,愁死了
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

全局中断有没有开啊

我是新手,只是用过F2274,开全局中断时需要设置GIE的,你这里面好像没有啊。仅供参考
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
对呀,全局中断未打开
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
_EINT();全局中断在cpu初始化中设置了
 
 
 

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

查找数据手册?

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