按如下图将TMC2209和串口模块连接:

配置流程:

寄存器配置:
通用寄存器:
校验码见我之前文章:使用uart串口配置TMC2209模块_tmc2209 uart-CSDN博客
通用寄存器主要是配置第0和第1位,第1位要给1,第0位根据自己的原理图配置。我的要配置0;
这里需要发送05 00 80 00 00 00 CA F7

IHOLD_IRUN寄存器:
这个寄存器是配置电机停止和运动时的电流大小,值越大,电流越大,19-16位可以直接给0,我这里电流直接给最大了。
05 00 90 00 00 1F 1F 0A
SGTTHRS寄存器:
这个寄存器是配置堵转检测的灵敏度,值越小,灵敏度越低,需要先读取SG_RESULT寄存器的值,该寄存器的值表示当前步进电机的负载情况,值越大,负载越大。

TCOOLTHRS寄存器:
该寄存器主要功能是启用DIAG接口。满足TCOOLTHRS>=TSTEP>TPWMTHRS时才会启用。所以要先配置其他两个寄存器。
TPWMTHRS寄存器:
这个寄存器是配置开启从静音模式到高速模式的阈值,用不到就全部给0,禁用就行了,就是直接开启高速模式。
TSTEP寄存器:
读出该寄存器的值,配置的TCOOLTHRS寄存器要比这个值大或者等于这个值。

配置完成后就能开启堵转检测了。堵转时,DIAG引脚会发送高电平给控制器。