微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 新手学习CC2540串口通信

新手学习CC2540串口通信

时间:10-02 整理:3721RD 点击:

刚接触BLE,正在进行最基础的学习,我用的是SmartRF05的板子,做串口通信,不跑协议栈。但是在电脑上收到的总是乱码,程序如下,是在网上找的。一直找不出问题,请大家帮忙看一下哪里出问题了,非常感谢。

#include <ioCC2540.h>

typedef unsigned char uint8;
typedef char int8;
typedef unsigned short int uint16;


#define LED1 P1_0 //定义P1.0口为LED1控制端

#define BV(x) (1<<(x))

/****************************************************************************
名 称: DelayMS()
功 能: 毫秒延时,系统时钟不配置时默认使用内部16M,本demo中,时钟为外部32M
入口参数: msec 延时参数,注意,最大数值为65536ms
出口参数: 无
****************************************************************************/
void DelayMS(uint16 msec)
{
uint16 i,j;

for (i=0; i<msec; i++)
for (j=0; j<536*2; j++);
}

/****************************************************************************
名 称: InitLed()
功 能: 设置LED相应的IO口
入口参数: 无
出口参数: 无
****************************************************************************/
void InitLed(void)
{
P1DIR |= BV(0); // P1.0定义为输出
LED1 = 0; // LED1灯熄灭
}

/****************************************************************************
名 称: InitUart()
功 能: 串口初始化函数
入口参数: 无
出口参数: 无
****************************************************************************/
void InitUart(void)
{
P0SEL |= BV(2) | BV(3);//配置P0.2和P0.3为外设,非GPIO
U0CSR |= BV(7); //配置当前为UART,非SPI
U0GCR |= 11; //根据上述波特率设置表格设置115200波特率
U0BAUD |= 216;// 根据上述波特率设置表格设置115200波特率
UTX0IF = 0;//位寄存器,直接操作,清除中断标志

}


void UartSendString(int8 *Data, uint16 len)
{
uint16 i;

for(i=0; i<len; i++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}

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

InitLed();
InitUart(); //调置串口相关寄存器
int8 TxData[]="Hello Ghostyu\r\n";

while(1)
{
UartSendString(TxData, sizeof(TxData)); //串口发送数据
DelayMS(1000); //延时
LED1=~LED1;
}
}

bin,

参考一下这个帖子,说不定有帮助:http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/92419.aspx

没得到什么结果,我想问一下,配置串口寄存器的时候,需要同时配置DMA吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top