Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7513

CC2540同时使用两个串口

$
0
0

你好:

我想请教如何在SimpleBLEPeripheral上实现同时使用两个串口,里面的代码不修改只能使用一个串口吧?

我打开串口1的中断

void InitUart()
{
CLKCONCMD &= ~0x40; // 设置系统时钟源为 32MHZ晶振
while(CLKCONSTA & 0x40); // 等待晶振稳定
CLKCONCMD &= ~0x47; // 设置系统主时钟频率为 32MHZ

PERCFG = 0x02;
P1SEL |= 0xC0;
P2DIR &= ~0XC0; 
P2DIR |= 0x40;

U1CSR |= 0x80;
U1GCR |= 8; 
U1BAUD |= 59; 
UTX1IF = 0;
U1CSR |= 0X40; //允许接收
IEN0 |= 0x88; // 开总中断,接收中断
}

/****************************************************************
串口发送字符串函数
****************************************************************/
void Uart_Send_String(char *Data,int len)
{
int j;
for(j=0;j<len;j++)
{
U1DBUF = *Data++;
while(UTX1IF == 0); //发送完成标志位
UTX1IF = 0;
}
}

#pragma vector = URX1_VECTOR
__interrupt void UART1_ISR(void)
{
URX1IF = 0; // 清中断标志
temp = U1DBUF;
}

上面的代码单独使用是没有问题的,但是加到SimpleBLEPeripheral.c中后就有问题了,收发的数据都出错了,请问怎么解决


Viewing all articles
Browse latest Browse all 7513

Trending Articles