STC8H8K64U的USB和串口3不能同时使用问题
最近调试一个产品,USB-HID和串口3同时用上了,调试时出现这个问题。USB-HID 和 串口3同时使用,USB-HID发送的数据会被串口3接收到。
例如:按一个按键,然后串口发送0x31,同时使用SSCOM发送一串数据到设备,设备会接收到0x31和很多乱的数据,初步估计时USB-HID口串过来的。测试步骤如下:
1: 按下按键1,往串口3发送0x31.
2: 然后使用SSCOM方式数据。
3: 设备识别到命令错误,然后把串口接收的缓存数据发送到PC,通过SSCOM观察到。
代码如下:
按键扫描,有数据的话,往USB、PS2、串口发送数据。
void KeyboardScan(void)
{
MainKeyPressScan();
ProcessMainKeyForUSB();
ProcessMainKeyForUart();
ProcessMainKeyForPS2();
MainKeyPressStructure.KeyPressCode = 0;
MainKeyPressStructure.KeyPressSuccess = ERROR;
}
USB发送数据函数:
void ProcessMainKeyForUSB(void)
{
u8 keycode,KeyData;
if( MainKeyPressStructure.KeyPressSuccess == ERROR )
return;
keycode = AnalyzeMainKeyCode( MainKeyPressStructure.KeyPressCode ); //测试OK
KeyData = GetMainKeyHIDValueFromFlash(keycode);
USBSendData(KeyData);
}
串口3发送数据:
void ProcessMainKeyForUart(void)
{ u8 keycode,KeyData;
if( MainKeyPressStructure.KeyPressSuccess == ERROR )
return;
keycode = AnalyzeMainKeyCode( MainKeyPressStructure.KeyPressCode );
KeyData = GetMainKeyASCIIValueFromFlash(keycode);
Uart3Send8Bit(KeyData);
}
在串口命令函数里,有这一段代码,接收到错误的命令时,把串口缓存的数据通过串口3发送到PC。
if( (ReceiveUartCMDStructure.ReceivedCMDDataBuffer != COM_DATA_START ) || //核对数据起始和结束是否正确
(ReceiveUartCMDStructure.ReceivedCMDDataBuffer != COM_DATA_END ))
{
Uart_SendBytes("COMMAND ERROR", 13);
Uart3Send8Bit(0xFF);
for(i=0; i<ReceiveUartCMDStructure.ReceivedCMDDataLength; i++)
Uart3Send8Bit(ReceiveUartCMDStructure.ReceivedCMDDataBuffer);
Uart3Send8Bit(0xFF);
InitReceiveUartCMDStructure();
return ;
}
数据:
31 31 43 4F 4D 4D 41 4E 44 20 45 52 52 4F 52 FF 31 31 AA FD 31 32 33 41 34 35 36 42 37 38 39 43 44 30 45 46 BB 55 00 00 00 8D AB 06 28 7C F2 00 03 C9 D8 46 00 DB 64 00 00 00 79 C0 21 DA 9A 6B CB FD D8 0C 41 11 C6 16 66 F7 F0 5E 50 FB B5 A4 94 64 D5 40 4E 83 C0 F9 5C 74 75 6C EC F0 47 6D 8C 70 81 1E D2 FF
数据解析:
1: 31 31 是串口发送的按键"1"数据。
2: 43 4F 4D 4D 41 4E 44 20 45 52 52 4F 52是字符串“COMMAND ERROR”。
3: FF是上面代码发的。
4: 31 31 AA FD 31 32 33 41 34 35 36 42 37 38 39 43 44 30 45 46 BB是串口接收到PC的命令数据。
5: 55 00 00 00 8D AB 06 28 7C F2 00 03 C9 D8 46 00 DB 64 00 00 00 79 C0 21 DA 9A 6B CB FD D8 0C 41 11 C6 16 66 F7 F0 5E 50 FB B5 A4 94 64 D5 40 4E 83 C0 F9 5C 74 75 6C EC F0 47 6D 8C 70 81 1E D2 FF是串口接收到的乱码,初步判断是USB带过来的。
解决方法如下:
1: USB不通讯,仅供电,串口3正常收发数据。
2: 屏蔽函数 ProcessMainKeyForUSB(),串口3正常收发数据。
没试过其它串口,串口1和USB是共用PIN脚的,但怎么会影响其它串口呢?
现在的问题是,怎么解决?论坛里有人碰到过吗?
STC官网开天斧例程包里面,例程“06-串口3与串口4通信测试程序”就同时使用USB-HID、串口3、串口4。
到官网下载这个例程试试。
https://www.stcai.com/hxgnsyb
data:image/png;base64,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
乘风飞扬 发表于 2023-2-23 10:34
STC官网开天斧例程包里面,例程“06-串口3与串口4通信测试程序”就同时使用USB-HID、串口3、串口4。
到官 ...
感谢您的回复。
看了这个例程,没有找到USB相关的代码,只有调用几个函数,没有函数具体内容。 古人来者_昌 发表于 2023-2-23 19:46
感谢您的回复。
看了这个例程,没有找到USB相关的代码,只有调用几个函数,没有函数具体内容。 ...
这个例程用的是USB-HID库文件,连接电脑就能识别出USB HID设备,通过USB接口给MCU发送 "@STCISP#"命令就能触发MCU复位。
此外开启主循环里下面屏蔽的两行代码,就可以通过USB接口接收数据并原样返回,实现USB HID的收发通信:
if (bUsbOutReady) //USB调试及复位所需代码
{
// memcpy(UsbInBuffer, UsbOutBuffer, 64); //原路返回, 用于测试HID
// usb_IN();
usb_OUT_done();
}
页:
[1]