串口的初始化:
void USART_Init(void)
{
P1SEL0 |= BIT2 + BIT3;
P1SEL1 &= ~(BIT2 + BIT3);
UCA0CTLW0 = UCSWRST;
UCA0CTLW0 |= UCSSEL__ACLK + UCPEN +UCPAR ;
UCA0BR0 = 3;
UCA0BR1 = 0x00;
UCA0MCTLW = UCBRS3 + UCBRF0;
UCA0CTLW0 &=~ UCSWRST;
UCA0IE |= UCRXIE;
}
发送:
void Uart1send(u8 cm)
{
while(!(UCA0IFG & UCTXIFG));
UCA0TXBUF = cm;
}
void Uart1sendcom(u8 *cmd)
{
register u8 *string = cmd;
while(*string != ' ')
{
Uart1send(*string++);
}
}
主程序:
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode
// to activate previously configured port settings
CLK_init();
//PWM_Init();
USART_Init();
while(1)
{
Uart1send('1');
Uart1send('7');
}
}
求助下各位大神,这程序是我照着F5529单片机写的,后面我又对比了网上的FR系列的串口程序,并没有很大的差别啊,可是串口的P1.3引脚的TXD我用示波器看就是没有波形,之前说可能是我端口的输出配置有问题,但是我查了芯片手册 DIR不需要配置,只需要把SELX配置成01就可以了,我觉得理论上我已经检查不出有什么问题了,求大佬能帮忙看看。
此帖出自
小平头技术问答
一周热门 更多>