我正在尝试制作一个与SPBT2632C2A蓝牙芯片交谈的LabWindows/CVI程序。我正在使用ST Eval SPBT3ATV3加密狗。我正在尝试按下按钮并将命令发送到芯片,但是芯片不回答我。我知道我的LabWindows程序可以从Dongle接收消息,因为每次我在加密狗上按重置按钮时,都会向我显示启动消息。当我搜索时,我需要将nr
添加到字符串的结尾,但仍然没有用。芯片不会发送偶数错误消息。
代码
int CVICALLBACK rasti (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
sprintf(discovery,"AT+AB discoverynr");
if(ComWrt (4,discovery, 18)!= 18){
SetCtrlVal (panelHandle, PANEL_TEXTBOX, "Nesekmingas duomenu siuntimas");
//Unsuccessful sending data
}
else {
SetCtrlVal (panelHandle, PANEL_TEXTBOX, discovery);
}
break;
}
return 0;
}
这是按按钮称为事件。它将我的发现字符串附加到文本框。因此,我认为它将数据正确发送到串行端口。但是我认为我的弦是错误的,所以我不会从芯片上得到答案。
有什么想法解决这个问题以从芯片中获得回应?
在调用 comwrt 之前,请确保用正确的参数调用 opencomConfig 。您可以在高端中查找正确的端口设置(因为您提到的是与设备正确通信)。有关此的更多信息,请参阅NI的文档。
另外,尝试不同类型的线终止字符可能会有所帮助(尝试使用 r n , n 或 n 或 r )。