# UartGuarder
**Repository Path**: osr-tech/uart-guarder
## Basic Information
- **Project Name**: UartGuarder
- **Description**: UART协议触发器
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2024-12-03
- **Last Updated**: 2025-04-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# UartGuarder
## 产品说明
UartGuarder 支持两路UART协议触发引擎,通过硬件对UART协议进行实时解析。用户可配置待匹配字符串,UartGuarder硬件在解析字节串和用户配置相同时,对外输出触发电平信号。该触发信号可接入示波器或故障注入设备,作为侧信道采集触发或故障注入触发。
UartGuarder支持用户自定义波特率和数据位,覆盖2400、4800、9600、19200、38400、57600、115200常见波特率和5、6、7、8位数据位。UartGuarder仅支持校验位为None,停止位为1bit的串口通信。
UartGuarder的每个协议触发引擎最大支持8个字节的实时匹配,可实现两路UART并行解析和触发输出。
协议触发引擎支持外部使能。可将两路引擎进行串联,实现两个字符串顺序事件的触发,如下图所示:
UartGuarder引脚图如下所示:
## 调用示例
```python
import uart_guarder as ug
ugdev = ug.UartGuarder('com3')
ugdev.uart_cfg(115200)
data_to_match = bytes.fromhex("AABBCCDDEE")
ugdev.engine_cfg(ug.Engine.E1, data_to_match)
ugdev.arm(ug.Engine.E1)
# 检查是否触发
print(ugdev.state(ug.Engine.E1))
```