1.CC2530的串口操作都是针对bit只有一位的数据。
发送可以通过循环进行发送将一个字符串发送出去
/****************************************************************
串口发送字符串函数
****************************************************************/
void Uart_Send_String(char *Data,int len)
{
{
int j;
for(j=0;j<len;j++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}
}
而接收函数(中断方式)是按字符进行的(bit)
注:不好处理的地方是不好判断在何种情况下对接收的数据进行处理或显示
在这种情况下,最好是约定协议(发送格式),主要为结束字符(单字符)
#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{
EA = 0;
URX0IF=0;//清标志
if((U0DBUF != '#') &&(datanumber<20))
recdata[datanumber++]=U0DBUF;//读取缓存到temp
else
{
//U0CSR &=~0X40;//只进行一次操作,串口接收关闭
}
EA = 1;
}
扫描方式:(还未进行测试)