C Stm32函数在";标准图书馆“;

C Stm32函数在";标准图书馆“;,c,stm32,standard-library,C,Stm32,Standard Library,我有这个功能,这是“HAL”库: 但我想和Standart Perhibral图书馆一起为stm32写作。如何在STD中编写此函数?首先,您需要在STD库中编写SPI、GPIO和时钟的初始化函数。在这种情况下,我们无法理解您使用的是哪种SPI1引脚以及您使用的是哪种stm32处理器 您需要提供详细信息pin号、stm32处理器号。回答就足够了。首先,您需要在std库中编写SPI、GPIO和时钟的初始化函数。在这种情况下,我们无法理解您使用的是哪种SPI1引脚以及您使用的是哪种stm32处理器 您

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


但我想和Standart Perhibral图书馆一起为stm32写作。如何在STD中编写此函数?

首先,您需要在STD库中编写SPI、GPIO和时钟的初始化函数。在这种情况下,我们无法理解您使用的是哪种SPI1引脚以及您使用的是哪种stm32处理器


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

首先,您需要在std库中编写SPI、GPIO和时钟的初始化函数。在这种情况下,我们无法理解您使用的是哪种SPI1引脚以及您使用的是哪种stm32处理器


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

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

带有
HAL\u GPIO\u WritePin…
的线路处理芯片选择引脚和
HAL\u SPI\u Transmit()
执行传输工作

STD库中没有传输完整数据块的函数。 所以你必须使用
void SPI_I2S_SendData(SPI_TypeDef*SPIx,uint16_t数据)并依次传输一个字节


获取完整示例(包括接口设置)的最佳方法可以在库本身中找到(STM32F4xx\u StdPeriph\u Examples\SPI\SPI\u TwoBoards\SPI\u dataexchangeeinterrupt)

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

带有
HAL\u GPIO\u WritePin…
的线路处理芯片选择引脚和
HAL\u SPI\u Transmit()
执行传输工作

STD库中没有传输完整数据块的函数。 所以你必须使用
void SPI_I2S_SendData(SPI_TypeDef*SPIx,uint16_t数据)并依次传输一个字节

获取完整示例(包括接口设置)的最佳方法可以在库本身中找到(STM32F4xx\u StdPeriph\u Examples\SPI\SPI\u TwoBoards\SPI\u DataExchangeInterrupt)

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);
}