BC5MM UART串口怎么使用,我测试了很久,拜托各位大虾了
我的一些具体情况:1. ADK2.5+BC5MM的开发板(CSR的开发板,目前还在测试阶段,CSR上海的技术支持太不给力了);
2.在app/sink下添加的uart代码,代码待会贴到最下面;
3.transport设为Raw,SKEY_HOST_INTERFACE 设置为VM access to the UART,将PSKEY_UART_BITRATE设置为115.2kbaud(ADK2.5的pskey名会有些出入);
code:
uart_task.handler = hbcp_msg_handler;
/* set uart */
StreamUartConfigure(VM_UART_RATE_115K2,VM_UART_STOP_ONE,VM_UART_PARITY_NONE);
MessageSinkTask(StreamUartSink(), &uart_task);
static void hbcp_msg_handler(Task task, MessageId id, Message message)
{
switch(id)
{
case MESSAGE_MORE_DATA:
/*recevie uart messege*/
MAIN_DEBUG(("------hbcp_msg_handler MESSAGE_MORE_DATA------\n")) ;
break;
case 0x8022:
MAIN_DEBUG(("------hbcp_msg_handler 0x8022------\n")) ;
break;
default:
MAIN_DEBUG(("------hbcp_msg_handler default------\n")) ;
break;
}
}
void dataSend(void)
{
uint8 data1;
Sink sink = StreamUartSink();
data1 = 10;
data1 = 20;
if(sink && SinkClaim(sink, sizeof(data1)) != 0xffff)
{
memcpy(SinkMap(sink), data1, sizeof(data1));
DEBUG (("-----------SinkFlush-----------\n"));
PanicZero(SinkFlush(sink, sizeof(data1)));
}
}
每次调用dataSend发送数据,数据被模块自己收到,就是hbcp_msg_handler里的MESSAGE_MORE_SPACE,太奇怪了。
拜托各位大侠了,不胜感激,谢谢各位! 有个参数没有打开 哪个?哪个?哪个?哪个? trans啥的:lol {:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:}{:soso_e117:} 说完整点啊,这点提示我也不知道...... 没用过 ADK2.5,只用过 ADK2.0,但应该一样吧 MESSAGE_MORE_SPACE表示数据已经发出去了 MESSAGE_MORE_DATA才表示有收到串口发来的数据 刚才看到ADK1.1有UART的测试代码,看看吧,没辙了