先上张富士通MB9B506与MSP430G2553的数据传输图片:
黑白线为串口线!可以看到两边的数据相同!
程序:
接收(中断法):
void MFSI_RX2_IRQHandler(void)
{
if(((UART2_SSR&0x08)>>3) == 1)
UART2_SSR = 0x80;
else
{
temp=UART2_RDR;
}
}
串口的初始化:
void uart_init(void)
{
// UART2_SSR = 0x80;
PFR3 = 0x0000;
DDR3 = 0xffff;
PDOR3 = 0x0000;
/* Set Uart Ch2 Port, SIN2_1, SOT2_1 */
PFR2 |= 0x0030;
EPFR07 = 0x000a0000;
// PCR2 = 0xffff;
// DDR2 = 0xfffd;
// UART2_SCR |= 0x80;
/*Progarmmable clear,disable receive,transmit,bus idle and data reception interrupt,enable transmission*/
UART2_SCR = 0x1b;
/*MODE 0(正常模式) SIN引脚作为外部中断引脚 1位停止位 小端LSB 使能串口输出*/
UART2_SMR = 0x11;
/*不使能硬件流控制 NRZ 偶校验*/
UART2_ESCR = 0x00;
//UART2_BGR = 0x0823;//时钟为20MHZ 9600
UART2_BGR = 0x00ad;//时钟为20MHZ 11520
}
这里的波特率的改变参考:
430部分以前发的帖子有介绍!
而CC2530和
富士通MB9B506的串口通讯道理是一样的!