max31865不响应

max31865不响应,第1张

max31865不响应,MAX31865读取不到寄存器数据的原因

最近项目有使用到max31865铂电阻测温芯片,通讯是SPI通讯,本人第一次使用。

主机采用的是STM32的单片机,库函数是HAL库历慎。前期读取寄销敬存器数据的方式调用了HAL库的函数:

HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size,uint32_t Timeout)

然后采用正点原子定义的一个函数:

u8 SPI2_ReadWriteByte(u8 TxData)

{

u8 Rxdata

HAL_SPI_TransmitReceive(&SPI2_Handler,&TxData,&Rxdata,1,1000)

return Rxdata //返回收到的数据

}

在测试过程中发现单片机SPI能自发自收,而且单片机的SPI配置和代码感觉都是按着从机的数据手册要求来编写,但从机max31865就是不响应,不返回任何数据。SDO全程处于高阻态。

直到采用逻辑分析仪查看,如下图

和数据手册亏烂慎的波形图对比之后,发现果然是自己代码的问题,数据手册要求如下图所示:

从机发数据也是需要主机提供时钟信号的

简单修改之后,果然收到了从机的数据,如下图:

这不培启逗是你的完整程序吧,配卖不完整哦,还有很多地方没有写好!

#include

<stdio.h>

void

main()

{

int

x,y,c

int

max(int

x,int

y)

scanf("%d%d",&x,&y)

c=max(x,y)

printf("%d",c)

}

int

max(int

x,int

y)

{

int

z

if(x>旁知y)

z=x

else

z=y

return(z)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12502591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存