【问题标题】:Stm32 function in "Standard Library"“标准库”中的stm32函数
【发布时间】:2019-04-23 17:25:27
【问题描述】:

我有这个功能,这是“HAL”库:

void ENC28_writeBuf(uint16_t len, uint8_t* data)
{
    uint8_t spiData[2];
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET);
    spiData[0] = ENC28_WRITE_BUF_MEM;
    HAL_SPI_Transmit(&hspi1, spiData, 1, 100);
    HAL_SPI_Transmit(&hspi1, data, len, 100);
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET);
}

但我想用 Standart Perhibral Library 为 stm32 编写。如何在 STD 中编写此函数?

【问题讨论】:

    标签: c stm32 standard-library


    【解决方案1】:

    首先需要在std库中编写SPI、GPIO、Clock的init函数。那样的话,我们就无法理解你用的是哪个SPI1管脚,你用的是哪个stm32处理器。?

    您需要提供详细信息 pin 号,stm32 处理器号。回答就够了。

    【讨论】:

      【解决方案2】:

      您的函数是一个简单的 SPI 传输。

      带有HAL_GPIO_WritePin... 的行处理芯片选择引脚和 HAL_SPI_Transmit() 进行传输工作。

      在 STD 库中,没有用于传输完整数据块的函数。 所以你必须使用 void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data); 一个字节一个接一个地传输。

      获取完整示例(包括接口设置)的最佳方法可以在库本身中找到 (STM32F4xx_StdPeriph_Examples\SPI\SPI_TwoBoards\SPI_DataExchangeInterrupt)

      【讨论】:

        猜你喜欢
        • 2014-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-19
        • 1970-01-01
        相关资源
        最近更新 更多