南慕.ly 2019-08-26 14:08 采纳率: 0%
浏览 305
已结题

求助:C# 4.2蓝牙适配器无法触发DataReceived事件?

现在4.2的蓝牙模块某特性通道发送的字节为243字节,所以PC端必须采用4.2的蓝牙适配器(Silicon Labs CP210x USB to UART Bridge)来接收数据,但是发现DataReceived事件始终没有被触发。

我尝试按照论坛关于DataReceived事件无法触发的帖子进行修改没有成功;尝试用4.0的适配器能够接收到数据,说明蓝牙的GAP,ATT命令应该是没有问题的;尝试用串口调试助手发现4.2的适配器也能接收数据,说明蓝牙适配器应该没问题。所以有点迷惑,想询问可能de原因是什么?是否是蓝牙适配器的相关操作存在问题?

下面是串口的相关操作代码

     public void Open(string strPortName)
    {
        if (ComPort.IsOpen)
            throw new Exception("蓝牙适配器已经打开");

        thdSPDataProc.Start();

        ComPort.BaudRate = 115200;
        ComPort.Parity = System.IO.Ports.Parity.None;
        ComPort.DataBits = 8;
        ComPort.StopBits = System.IO.Ports.StopBits.One;
        ComPort.PortName = strPortName;
        ComPort.Open();        


        // 复位蓝牙适配器
        if (false == SB_HCI_Ext_ResetSystemCmd(1))
        {
            LogUtil.LoggingRunStatus(DateTime.Now, "蓝牙适配器复位命令下发失败,请确认 适配器 是否被已拔出!");
            return;
        }
    }
   // 复位蓝牙适配器命令
     private bool SB_HCI_Ext_ResetSystemCmd(int iRstMode)
    {
        Byte[] BHCI_ResetCmd = new Byte[5] { 0x01, 0x1D, 0xFC, 0x01, 0x00 };
        BHCI_ResetCmd[4] = (Byte)(iRstMode & 0xff);

        return Send(BHCI_ResetCmd);
    }
  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-08-26 20:20
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示