Слияние кода завершено, страница обновится автоматически
/*!
* \file spi-board.h
*
* \brief SPI driver implementation
*
* \copyright Revised BSD License, see section \ref LICENSE.
*
* \code
* ______ _
* / _____) _ | |
* ( (____ _____ ____ _| |_ _____ ____| |__
* \____ \| ___ | (_ _) ___ |/ ___) _ \
* _____) ) ____| | | || |_| ____( (___| | | |
* (______/|_____)_|_|_| \__)_____)\____)_| |_|
* (C)2013-2017 Semtech
*
* \endcode
*
* \author Miguel Luis ( Semtech )
*
* \author Gregory Cristian ( Semtech )
*/
#ifndef __SPI_H__
#define __SPI_H__
#ifdef __cplusplus
extern "C"
{
#endif
#include "gpio.h"
/*!
* SPI peripheral ID
*/
typedef enum
{
SPI_1,
SPI_2,
}SpiId_t;
/*!
* SPI object type definition
*/
typedef struct Spi_s
{
SpiId_t SpiId;
Gpio_t Mosi;
Gpio_t Miso;
Gpio_t Sclk;
Gpio_t Nss;
}Spi_t;
/*!
* \brief Initializes the SPI object and MCU peripheral
*
* \remark When NSS pin is software controlled set the pin name to NC otherwise
* set the pin name to be used.
*
* \param [IN] obj SPI object
* \param [IN] mosi SPI MOSI pin name to be used
* \param [IN] miso SPI MISO pin name to be used
* \param [IN] sclk SPI SCLK pin name to be used
* \param [IN] nss SPI NSS pin name to be used
*/
void SpiInit( Spi_t *obj, SpiId_t spiId, PinNames mosi, PinNames miso, PinNames sclk, PinNames nss );
/*!
* \brief De-initializes the SPI object and MCU peripheral
*
* \param [IN] obj SPI object
*/
void SpiDeInit( Spi_t *obj );
/*!
* \brief Configures the SPI peripheral
*
* \remark Slave mode isn't currently handled
*
* \param [IN] obj SPI object
* \param [IN] bits Number of bits to be used. [8 or 16]
* \param [IN] cpol Clock polarity
* \param [IN] cpha Clock phase
* \param [IN] slave When set the peripheral acts in slave mode
*/
void SpiFormat( Spi_t *obj, int8_t bits, int8_t cpol, int8_t cpha, int8_t slave );
/*!
* \brief Sets the SPI speed
*
* \param [IN] obj SPI object
* \param [IN] hz SPI clock frequency in hz
*/
void SpiFrequency( Spi_t *obj, uint32_t hz );
/*!
* \brief Sends outData and receives inData
*
* \param [IN] obj SPI object
* \param [IN] outData Byte to be sent
* \retval inData Received byte.
*/
uint16_t SpiInOut( Spi_t *obj, uint16_t outData );
#ifdef __cplusplus
}
#endif
#endif // __SPI_H__
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )