TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430G2553: proteus的msp430G2553的串口仿真出现P1 端口整体被配置为低电平

Part Number:MSP430G2553

各位大虾们:

                  你们好,个人在使用proteus8.6仿真msp430G2553的串口UART时,结果出现PI端口都为低电平,希望大家能够看一下,给点建议。(因疫情原因,购买的开发版不配送 ),下图为仿真的原理图;

代码:寄存器部分已经配置麻木了  参考他人代码也很难受

#include <msp430.h>

/**
* main.c
*/

#define uchar unsigned char
#define CPU_CLOCK 1000000

#define delay_us(us) __delay_cycles(CPU_CLOCK/1000000*(us))

#define delay_ms(ms) __delay_cycles(CPU_CLOCK/1000*(ms))

void SendData(uchar Data)
{

UCA0TXBUF = Data;
delay_ms(1000);

P1OUT &= 0XFE;

// TX -> RXed character
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?

if ((IFG2&UCA0TXIFG));
{
P2OUT = UCA0TXBUF ;
}

delay_ms(1000);
}

int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer

DCOCTL = CALDCO_1MHZ;
BCSCTL1 = CALBC1_1MHZ;

P2DIR |= BIT0;
P1DIR |= BIT0;

BCSCTL2 = 0;//SMCLK的时钟来源为DCOCTL 分频为1分频

//复位USCI_AX
UCA0CTL1 |= UCSWRST;

UCA0CTL0 =0;//USIC 选择USART

UCA0CTL1 = UCSSEL1+(UCSWRST); //配置为usic 时钟为 SMCLK

UCA0BR0 = 104;
UCA0BR1 = 0x00;
UCA0MCTL = 0X02;

//IO端口使能
P1SEL |= 0x06 ;
P1SEL2 |= 0x06;

UCA0CTL1 &= (~UCSWRST);

IE2 |= UCA0RXIE;

while(1)
{
P2OUT = 1 ;
P1OUT |= BIT0;

SendData(0x00);
delay_ms(1000);

}

最后在来个附件

}ppp.zip

Green Deng:

你好,这个问题我会在周一分配给工程师为你升级到英文E2E论坛。

,

penghui LI:

谢谢 大虾 

,

Cherry Zhou:

您好,这个是在 Proteus 中运行的,和实际 MCU 可能会有一些不同。 您可以参考下以下示例代码:

https://dev.ti.com/tirex/explore/node?node=ALGIK.vccivwkFMdqesmKg__IOGqZri__LATEST

,

penghui LI:

谢谢  大虾 ,自己在参考资料,再次proteus中在尝试一下仿真,

赞(0)
未经允许不得转载:TI中文支持网 » MSP430G2553: proteus的msp430G2553的串口仿真出现P1 端口整体被配置为低电平
分享到: 更多 (0)