本文整理汇总了C++中BSP_SD_IsDetected函数的典型用法代码示例。如果您正苦于以下问题:C++ BSP_SD_IsDetected函数的具体用法?C++ BSP_SD_IsDetected怎么用?C++ BSP_SD_IsDetected使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了BSP_SD_IsDetected函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: k_StorageInit
/**
* @brief Storage drives initialization
* @param None
* @retval None
*/
void k_StorageInit(void)
{
/* Link the USB Host disk I/O driver */
FATFS_LinkDriver(&USBH_Driver, USBDISK_Drive);
/* Link the micro SD disk I/O driver */
FATFS_LinkDriver(&SD_Driver, mSDDISK_Drive);
/* Create USB background task */
osThreadDef(STORAGE_Thread, StorageThread, osPriorityBelowNormal, 0, 2 * configMINIMAL_STACK_SIZE);
osThreadCreate (osThread(STORAGE_Thread), NULL);
/* Create Storage Message Queue */
osMessageQDef(osqueue, 10, uint16_t);
StorageEvent = osMessageCreate (osMessageQ(osqueue), NULL);
/* Init Host Library */
USBH_Init(&hUSB_Host, USBH_UserProcess, 0);
/* Add Supported Class */
USBH_RegisterClass(&hUSB_Host, USBH_MSC_CLASS);
/* Start Host Process */
USBH_Start(&hUSB_Host);
/* Enable SD Interrupt mode */
BSP_SD_Init();
BSP_SD_ITConfig();
if(BSP_SD_IsDetected())
{
osMessagePut ( StorageEvent, MSDDISK_CONNECTION_EVENT, 0);
}
}
示例2: SD_StorageInit
/**
* @brief Initializes the SD Storage.
* @param None
* @retval Status
*/
uint8_t SD_StorageInit(void)
{
/*Initializes the SD card device*/
BSP_SD_Init();
/* Check if the SD card is plugged in the slot */
if(BSP_SD_IsDetected() == SD_PRESENT )
{
/* Link the SD Card disk I/O driver */
if(FATFS_LinkDriver(&SD_Driver, SD_Path) == 0)
{
if((f_mount(&SD_FatFs, (TCHAR const*)SD_Path, 0) != FR_OK))
{
/* FatFs Initialization Error */
LCD_ErrLog("Cannot Initialize FatFs! \n");
return 1;
}
else
{
LCD_DbgLog ("INFO : FatFs Initialized! \n");
}
}
}
else
{
LCD_ErrLog("SD card NOT plugged \n");
return 1;
}
return 0;
}
示例3: AUDIO_Start
/**
* @brief Starts Audio streaming.
* @param idx: File index
* @retval Audio error
*/
AUDIO_ErrorTypeDef AUDIO_Start(uint8_t idx)
{
uint32_t bytesread;
if((FileList.ptr > idx) && (BSP_SD_IsDetected()))
{
f_close(&wav_file);
AUDIO_GetFileInfo(idx, &wav_info);
audio_state = AUDIO_STATE_CONFIG;
/* Set Frequency */
USBH_AUDIO_SetFrequency(&hUSBHost,
wav_info.SampleRate,
wav_info.NbrChannels,
wav_info.BitPerSample);
/* Fill whole buffer at first time */
if(f_read(&wav_file,
&buffer_ctl.buff[0],
AUDIO_BLOCK_SIZE * AUDIO_BLOCK_NBR,
(void *)&bytesread) == FR_OK)
{
if(bytesread != 0)
{
return AUDIO_ERROR_NONE;
}
}
buffer_ctl.in_ptr = 0;
}
return AUDIO_ERROR_IO;
}
示例4: HAL_GPIO_EXTI_Callback
/**
* @brief EXTI line detection callbacks.
* @param GPIO_Pin: Specifies the pins connected EXTI line
* @retval None
*/
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin==SD_DETECT_PIN)
{
/* Check SD card detect pin */
BSP_SD_IsDetected();
}
}
示例5: Save_Picture
/**
* @brief Saves the picture in microSD.
* @param None
* @retval None
*/
void Save_Picture(void)
{
FRESULT res1, res2; /* FatFs function common result code */
uint32_t byteswritten = 0; /* File write count */
static uint32_t counter = 0;
uint8_t str[30];
/* Check if the SD card is plugged in the slot */
if(BSP_SD_IsDetected() != SD_PRESENT)
{
Error_Handler();
}
else
{
/* Format the string */
sprintf((char *)str, "image_%lu.bmp", counter);
/*##-1- Prepare the image to be saved ####################################*/
Prepare_Picture();
/*##-2- Create and Open a new bmp file object with write access ##########*/
if(f_open(&MyFile, (const char*)str, FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
{
/* 'image.bmp' file Open for write Error */
Error_Handler();
}
else
{
/*##-3- Write data to the BMP file #####################################*/
/* Write the BMP header */
res1 = f_write(&MyFile, (uint32_t *)aBMPHeader, 54, (void *)&byteswritten);
/* Write the BMP file */
res2 = f_write(&MyFile, (uint32_t *)CONVERTED_FRAME_BUFFER, ((BSP_LCD_GetYSize() - 80)*(BSP_LCD_GetXSize() - 80)*2), (void *)&byteswritten);
if((res1 != FR_OK) || (res2 != FR_OK) || (byteswritten == 0))
{
/* 'image.bmp' file Write or EOF Error */
Error_Handler();
}
else
{
/*##-4- Close the open BMP file ######################################*/
f_close(&MyFile);
/* Success of the demo: no error occurrence */
BSP_LED_On(LED1);
/* Wait for 2s */
HAL_Delay(2000);
/* Select Layer 1 */
BSP_LED_Off(LED1);
counter++;
}
}
}
}
示例6: BSP_SD_ITConfig
/**
* @brief Configures Interrupt mode for SD detection pin.
* @retval Returns 0
*/
uint8_t BSP_SD_ITConfig(void)
{
/* Configure Interrupt mode for SD detection pin */
/* Note: disabling exti mode can be done calling SD_DeInit() */
UseExtiModeDetection = 1;
BSP_SD_IsDetected();
return 0;
}
示例7: BSP_SD_DetectCallback
/**
* @brief SD detect callback
* @param None
* @retval None
*/
void BSP_SD_DetectCallback(void)
{
if(BSP_SD_IsDetected())
{
osMessagePut ( StorageEvent, MSDDISK_CONNECTION_EVENT, 0);
}
else
{
osMessagePut ( StorageEvent, MSDDISK_DISCONNECTION_EVENT, 0);
}
}
示例8: STORAGE_Write
/**
* @brief Writes data into the medium.
* @param lun: Logical unit number
* @param blk_addr: Logical block address
* @param blk_len: Blocks number
* @retval Status (0 : Ok / -1 : Error)
*/
int8_t STORAGE_Write(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)
{
int8_t ret = -1;
if(BSP_SD_IsDetected() != SD_NOT_PRESENT)
{
BSP_SD_WriteBlocks_DMA((uint32_t *)buf, blk_addr * STORAGE_BLK_SIZ, STORAGE_BLK_SIZ, blk_len);
ret = 0;
}
return ret;
}
示例9: BSP_SD_DetectCallback
/**
* @brief SD detect callback
* @param None
* @retval None
*/
void BSP_SD_DetectCallback(void)
{
if((BSP_SD_IsDetected()))
{
/* After sd disconnection, a SD Init is required */
BSP_SD_Init();
osMessagePut ( StorageEvent, MSDDISK_CONNECTION_EVENT, 0);
}
else
{
osMessagePut ( StorageEvent, MSDDISK_DISCONNECTION_EVENT, 0);
}
}
示例10: BSP_SD_Init
/**
* @brief Initializes the SD card device.
* @retval SD status
*/
uint8_t BSP_SD_Init(void)
{
uint8_t sd_state = MSD_OK;
/* PLLSAI is dedicated to LCD periph. Do not use it to get 48MHz*/
/* uSD device interface configuration */
uSdHandle.Instance = SDIO;
uSdHandle.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
uSdHandle.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
uSdHandle.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
uSdHandle.Init.BusWide = SDIO_BUS_WIDE_1B;
uSdHandle.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_ENABLE;
uSdHandle.Init.ClockDiv = SDIO_TRANSFER_CLK_DIV;
/* Configure IO functionalities for SD detect pin */
BSP_IO_Init();
/* Check if the SD card is plugged in the slot */
BSP_IO_ConfigPin(SD_DETECT_PIN, IO_MODE_INPUT_PU);
if(BSP_SD_IsDetected() != SD_PRESENT)
{
return MSD_ERROR_SD_NOT_PRESENT;
}
/* Msp SD initialization */
BSP_SD_MspInit(&uSdHandle, NULL);
/* HAL SD initialization */
if(HAL_SD_Init(&uSdHandle, &uSdCardInfo) != SD_OK)
{
sd_state = MSD_ERROR;
}
/* Configure SD Bus width */
if(sd_state == MSD_OK)
{
/* Enable wide operation */
if(HAL_SD_WideBusOperation_Config(&uSdHandle, SDIO_BUS_WIDE_4B) != SD_OK)
{
sd_state = MSD_ERROR;
}
else
{
sd_state = MSD_OK;
}
}
return sd_state;
}
示例11: STORAGE_GetCapacity
/**
* @brief Returns the medium capacity.
* @param lun: Logical unit number
* @param block_num: Number of total block number
* @param block_size: Block size
* @retval Status (0: Ok / -1: Error)
*/
int8_t STORAGE_GetCapacity(uint8_t lun, uint32_t *block_num, uint16_t *block_size)
{
HAL_SD_CardInfoTypedef info;
int8_t ret = -1;
if(BSP_SD_IsDetected() != SD_NOT_PRESENT)
{
BSP_SD_GetCardInfo(&info);
*block_num = (info.CardCapacity)/STORAGE_BLK_SIZ - 1;
*block_size = STORAGE_BLK_SIZ;
ret = 0;
}
return ret;
}
示例12: BSP_SD_Init
/**
* @brief Initializes the SD card device.
* @retval SD status
*/
uint8_t BSP_SD_Init(void)
{
uint8_t sd_state = MSD_OK;
/* uSD device interface configuration */
uSdHandle.Instance = SDIO;
uSdHandle.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
uSdHandle.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
uSdHandle.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
uSdHandle.Init.BusWide = SDIO_BUS_WIDE_1B;
uSdHandle.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_ENABLE;
uSdHandle.Init.ClockDiv = SDIO_TRANSFER_CLK_DIV;
/* Msp SD Detect pin initialization */
BSP_SD_Detect_MspInit(&uSdHandle, NULL);
/* Check if SD card is present */
if(BSP_SD_IsDetected() != SD_PRESENT)
{
return MSD_ERROR_SD_NOT_PRESENT;
}
/* Msp SD initialization */
BSP_SD_MspInit(&uSdHandle, NULL);
/* HAL SD initialization */
if(HAL_SD_Init(&uSdHandle, &uSdCardInfo) != SD_OK)
{
sd_state = MSD_ERROR;
}
/* Configure SD Bus width */
if(sd_state == MSD_OK)
{
/* Enable wide operation */
if(HAL_SD_WideBusOperation_Config(&uSdHandle, SDIO_BUS_WIDE_4B) != SD_OK)
{
sd_state = MSD_ERROR;
}
else
{
sd_state = MSD_OK;
}
}
return sd_state;
}
示例13: BSP_SD_Init
/**
* @brief Initializes the SD card device.
* @param None
* @retval SD status.
*/
uint8_t BSP_SD_Init(void)
{
uint8_t SD_state = MSD_OK;
/* uSD device interface configuration */
uSdHandle.Instance = SDIO;
uSdHandle.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
uSdHandle.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
uSdHandle.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
uSdHandle.Init.BusWide = SDIO_BUS_WIDE_1B;
uSdHandle.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE;
uSdHandle.Init.ClockDiv = SDIO_TRANSFER_CLK_DIV;
/* Configure IO functionalities for SD detect pin */
BSP_IO_Init();
/* Check if the SD card is plugged in the slot */
if(BSP_SD_IsDetected() != SD_PRESENT)
{
return MSD_ERROR;
}
/* HAL SD initialization */
SD_MspInit();
if(HAL_SD_Init(&uSdHandle, &SD_CardInfo) != SD_OK)
{
SD_state = MSD_ERROR;
}
/* Configure SD Bus width */
if(SD_state == MSD_OK)
{
/* Enable wide operation */
if(HAL_SD_WideBusOperation_Config(&uSdHandle, SDIO_BUS_WIDE_4B) != SD_OK)
{
SD_state = MSD_ERROR;
}
else
{
SD_state = MSD_OK;
}
}
return SD_state;
}
示例14: HAL_GPIO_EXTI_Callback
/**
* @brief EXTI line detection callbacks.
* @param GPIO_Pin: Specifies the pins connected EXTI line
* @retval None
*/
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == MFX_IRQOUT_PIN)
{
if(BSP_SD_IsDetected())
{
if(CAMERA_Configured == 0)
{
BSP_SD_Init();
}
osMessagePut ( StorageEvent, MSDDISK_CONNECTION_EVENT, 0);
}
else
{
osMessagePut ( StorageEvent, MSDDISK_DISCONNECTION_EVENT, 0);
}
}
}
示例15: BSP_SD_Init
/**
* @brief Initializes the SD/SD communication.
* @param None
* @retval The SD Response:
* - MSD_ERROR : Sequence failed
* - MSD_OK : Sequence succeed
*/
uint8_t BSP_SD_Init(void)
{
/* Configure IO functionalities for SD pin */
SD_IO_Init();
/* Check SD card detect pin */
if(BSP_SD_IsDetected()==SD_NOT_PRESENT)
{
SdStatus = SD_NOT_PRESENT;
return MSD_ERROR;
}
else
{
SdStatus = SD_PRESENT;
}
/* SD initialized and set to SPI mode properly */
return (SD_GoIdleState());
}