STM32F4+MAX6675+K型热电偶测温度代码有问题吗?

2019-07-14 15:48发布

显示结果
有人能帮忙看看代码有什么问题吗?有一个问题请教:SPI配置支持16Bit数据,
但是HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t timeout)却是8Bit数据,应该怎么处理?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
Peterlt
1楼-- · 2019-07-14 19:30
Peterlt
2楼-- · 2019-07-14 23:02
弄了好久了,头都大了。

andyseu
3楼-- · 2019-07-15 01:08
应该还有另外一条语句是传输16bit的
Peterlt
4楼-- · 2019-07-15 04:51
andyseu 发表于 2018-11-23 07:31
应该还有另外一条语句是传输16bit的

This section contains the following APIs:
HAL_SPI_Transmit()
HAL_SPI_Receive()
HAL_SPI_TransmitReceive()
HAL_SPI_Transmit_IT()
HAL_SPI_Receive_IT()
HAL_SPI_TransmitReceive_IT()
HAL_SPI_Transmit_DMA()
HAL_SPI_Receive_DMA()
HAL_SPI_TransmitReceive_DMA()
HAL_SPI_DMAPause()
HAL_SPI_DMAResume()
HAL_SPI_DMAStop()
HAL_SPI_IRQHandler()
HAL_SPI_TxCpltCallback()
HAL_SPI_RxCpltCallback()
HAL_SPI_TxRxCpltCallback()
HAL_SPI_TxHalfCpltCallback()
HAL_SPI_RxHalfCpltCallback()
HAL_SPI_TxRxHalfCpltCallback()
HAL_SPI_ErrorCallback()
里面涉及到的参数uint8_t * pData、  uint8_t * pTxData、  uint8_t * pRxData都是8bit的,
昨晚有一位大哥让我定义为数组,然后组合起来,但是还是有问题,
uint8_t temp_buf[3] = {0};
while(1)
    {
        SPI1_L;        //开启片选
        HAL_SPI_Receive(&hspi1, temp_buf, 2, 1000);
        SPI1_H;
                Ret_MAX6675 = temp_buf[0]<<8 | temp_buf[1];
        T = (Ret_MAX6675>>3)&0x0fff;        
        HAL_Delay(1000);
               
        T = T*1024/4095;
        printf ("Temperature:%d ",T);
    }
60user189
5楼-- · 2019-07-15 05:12
 精彩回答 2  元偷偷看……
biao66
6楼-- · 2019-07-15 10:57
学习学习

一周热门 更多>