STM32如何用USART实现同步串口功能?是用USART的synchronous模式吗?USART的synchronous模式的本质就是SPI

前言

  在串口通信中,串口波特率过高时,就适合用同步串口,同步串口通信除了TX、RX这两根线外,还有CLK时钟信号线,以保证在高速情况下数据传输稳定不出错。

STM32如何用USART实现同步串口功能?是用USART的synchronous模式吗?

  看STM32F1/F4系列的数据手册,这两个系列是有同步串口功能的,需要用USART的synchronous模式来实现,USART的synchronous模式本质其实是SPI,STM32是主机。
  实验过程如下,用STM32CUBEMX软件配置完同步串口过后,生成keil工程,然后用HAL_USART_Transmit和HAL_USART_Receive这两函数就可以实现同步串口的发送和接收。
  例如我用HAL_USART_Transmit(&huart3, data_tran_arr, 10, 0xffff)发送10个字节数据,示波器抓到的波形如下:
在这里插入图片描述

图一
  再例如我用HAL_USART_Receive(&huart3,data_rev_arr,2,1000)接收2个字节数据,波形如下(忘拍照了,手画一下,另外,我没有连接从机,所以rx信号一直为低)。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值