UART
以异步通信串口为例,展示Logci2基本使用:
连接好逻辑分析仪后,共地,通过杜邦线连接PA9(系统板通过TX输出内容,如下图)。
Logic2软件设置如图:
点击+可以选择串口;
具体参数要与stm32系统板的配置一样,这里输出到channel1,96008N1;
设置采样率为1MS/s,(Logic 2官方建议采样率至少是信号频率的4倍以上)。
选择触发模式,方式为下降沿(这是因为串口通信过程空闲时为高电平,起始信号为下降沿,结束信号为上升沿,当检测到下降沿后说明数据开始传输,则开始采样);通道为Channel1,采样时间为1s。
设置完成后,点击三角形开始等待数据传输(这里要注意不要先通过TX发送数据),然后执行下面代码开始通过TX发送数据。
char dataarr4[50] = "this is a test for logic"; /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { //HAL_UART_Transmit(&huart1,(uint8_t *)&dataarr3,5,10000); HAL_UART_Transmit(&huart1,(uint8_t *)&dataarr4,strlen(dataarr4),10000); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ }点击三角形后显示等待触发后,即可烧录程序。
结果如图:
常见问题
这里要强调一下顺序的问题,由于Logic2设置的是触发方式采样数据,所以要先设置完触发方式再进行烧录,这个过程是为了保证通道中无数据。
如果一开始就已经烧录了,TX中有数据,再点击三角形采样后,采到的就不一定是个完整的数据帧了。
下图就是按照这种方式采样到的数据帧。
后续文章会通过逻辑分析仪分析I2C、SPI、CAN总线相关问题。