91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6.31MB
    文件類(lèi)型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-10-23
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: DAC??

資源簡(jiǎn)介

STM32CubeIDE Audio播放音頻,DAC + TIM + DMA 隨言: 建議下載該例程看看源碼,但是由于官方使用的是外部TF卡存儲(chǔ)音頻,有一個(gè)讀取外部數(shù)據(jù)拷貝到SRAM的延時(shí)問(wèn)題,故官方使用了雙緩存區(qū)方式。 而我只想簡(jiǎn)單播放音頻,故我找了一段15秒的16KHz_8bit_wav格式音頻,直接轉(zhuǎn)成C語(yǔ)言數(shù)組存在芯片內(nèi)部flash。由于是放在內(nèi)部flash,故不用擔(dān)心數(shù)據(jù)拷貝的速度問(wèn)題,所以我使用單緩沖區(qū)就可以了。甚至可以不需要把內(nèi)部flash數(shù)據(jù)拷貝到緩存區(qū),直接讓DMA指向flash數(shù)據(jù)的地址。 音頻的采樣位數(shù)為8bit 16bit 24bit 32bit,采樣位數(shù)越高當(dāng)然音質(zhì)越好,但是相對(duì)的存儲(chǔ)也急劇增加。 注意:STM32F4的DAC最大分辨率為12bit,故我們只能使用8bit的音頻。還有就是一般高采樣位數(shù)音頻轉(zhuǎn)低采樣位數(shù)音頻的一定要適當(dāng)加入抖動(dòng)(噪聲)。

資源截圖

代碼片段和文件信息

/*?USER?CODE?BEGIN?Header?*/
/**
??******************************************************************************
??*?@file???????????:?main.c
??*?@brief??????????:?Main?program?body
??******************************************************************************
??*?@attention
??*
??*?

©?Copyright?(c)?2020?STMicroelectronics.
??*?All?rights?reserved.


??*
??*?This?software?component?is?licensed?by?ST?under?BSD?3-Clause?license
??*?the?“License“;?You?may?not?use?this?file?except?in?compliance?with?the
??*?License.?You?may?obtain?a?copy?of?the?License?at:
??*????????????????????????opensource.org/licenses/BSD-3-Clause
??*
??******************************************************************************
??*/
/*?USER?CODE?END?Header?*/

/*?Includes?------------------------------------------------------------------*/
#include?“main.h“

/*?Private?includes?----------------------------------------------------------*/
/*?USER?CODE?BEGIN?Includes?*/
#include?“datas.h“
#include?
#include?
#include?
/*?USER?CODE?END?Includes?*/

/*?Private?typedef?-----------------------------------------------------------*/
/*?USER?CODE?BEGIN?PTD?*/

/*?USER?CODE?END?PTD?*/

/*?Private?define?------------------------------------------------------------*/
/*?USER?CODE?BEGIN?PD?*/
/*?USER?CODE?END?PD?*/

/*?Private?macro?-------------------------------------------------------------*/
/*?USER?CODE?BEGIN?PM?*/

/*?USER?CODE?END?PM?*/

/*?Private?variables?---------------------------------------------------------*/
DAC_HandleTypeDef?hdac;
DMA_HandleTypeDef?hdma_dac1;

TIM_HandleTypeDef?htim6;

UART_HandleTypeDef?huart1;

/*?USER?CODE?BEGIN?PV?*/

/*?USER?CODE?END?PV?*/

/*?Private?function?prototypes?-----------------------------------------------*/
void?SystemClock_Config(void);
static?void?MX_GPIO_Init(void);
static?void?MX_DMA_Init(void);
static?void?MX_DAC_Init(void);
static?void?MX_TIM6_Init(void);
static?void?MX_USART1_UART_Init(void);
/*?USER?CODE?BEGIN?PFP?*/

/*?USER?CODE?END?PFP?*/

/*?Private?user?code?---------------------------------------------------------*/
/*?USER?CODE?BEGIN?0?*/
#define BUFFER_SIZE (1024)

uint8_t?Buffer0[BUFFER_SIZE]?=?{0};
uint8_t?Buffer1[BUFFER_SIZE]?=?{0};


void?Music_Player(void)
{
uint32_t?DataLength?=?0;
uint8_t*?DataAddress?=?NULL;

#if?1
DataLength?=?sizeof(data)?-?0x2c;
DataAddress?=?(unsigned?char?*)(data?+?0x2c);
memset(Buffer0?0?BUFFER_SIZE);
memset(Buffer1?0?BUFFER_SIZE);
HAL_TIM_base_Start(&htim6);

while(1)
{
if(DataLength?>=?BUFFER_SIZE)
{
memcpy(Buffer0?DataAddress?BUFFER_SIZE);
DataLength?-=?BUFFER_SIZE;
DataAddress?+=?BUFFER_SIZE;
HAL_DAC_Start_DMA(&hdac?DAC_CHANNEL_1?(uint32_t?*)Buffer0?BUFFER_SIZE?DAC_ALIGN_8B_R);
while(HAL_DAC_GetState(&hdac)?!=?HAL_DAC_STATE_READY);
}
else?break;
}
HAL_TIM_base_Stop(&htim6);
HAL_DAC_

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件??????25778??2020-05-25?16:38??DAC?Audio3\.cproject

?????文件???????7466??2020-05-25?16:38??DAC?Audio3\.mxproject

?????文件???????1299??2020-05-19?09:55??DAC?Audio3\.project

?????文件???????2372??2020-05-25?09:39??DAC?Audio3\.settings\language.settings.xml

?????文件????1469034??2020-05-25?16:44??DAC?Audio3\Core\Inc\datas.h

?????文件???????2181??2020-05-25?16:38??DAC?Audio3\Core\Inc\main.h

?????文件??????16342??2020-05-25?16:38??DAC?Audio3\Core\Inc\stm32f4xx_hal_conf.h

?????文件???????2144??2020-05-25?16:38??DAC?Audio3\Core\Inc\stm32f4xx_it.h

?????文件??????10669??2020-05-26?13:46??DAC?Audio3\Core\Src\main.c

?????文件???????7374??2020-05-25?16:38??DAC?Audio3\Core\Src\stm32f4xx_hal_msp.c

?????文件???????5937??2020-05-25?16:38??DAC?Audio3\Core\Src\stm32f4xx_it.c

?????文件???????2675??2020-05-19?09:55??DAC?Audio3\Core\Src\syscalls.c

?????文件???????1468??2020-05-19?09:55??DAC?Audio3\Core\Src\sysmem.c

?????文件??????26457??2020-02-26?14:28??DAC?Audio3\Core\Src\system_stm32f4xx.c

?????文件??????23547??2020-02-26?14:28??DAC?Audio3\Core\Startup\startup_stm32f407zgtx.s

?????文件???????7538??2020-05-25?10:27??DAC?Audio3\DAC?Audio3?Debug.launch

?????文件???????5968??2020-05-25?16:38??DAC?Audio3\DAC?Audio3.ioc

?????文件???????3661??2020-05-26?14:24??DAC?Audio3\Debug\Core\Src\main.d

?????文件????1375524??2020-05-26?14:24??DAC?Audio3\Debug\Core\Src\main.o

?????文件????????375??2020-05-26?14:24??DAC?Audio3\Debug\Core\Src\main.su

?????文件???????3597??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_hal_msp.d

?????文件????1094848??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_hal_msp.o

?????文件????????383??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_hal_msp.su

?????文件???????3649??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_it.d

?????文件????1089108??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_it.o

?????文件????????475??2020-05-25?16:38??DAC?Audio3\Debug\Core\Src\stm32f4xx_it.su

?????文件???????3853??2020-05-26?14:24??DAC?Audio3\Debug\Core\Src\subdir.mk

?????文件?????????45??2020-05-19?14:55??DAC?Audio3\Debug\Core\Src\syscalls.d

?????文件??????78312??2020-05-19?14:55??DAC?Audio3\Debug\Core\Src\syscalls.o

?????文件????????637??2020-05-19?14:55??DAC?Audio3\Debug\Core\Src\syscalls.su

............此處省略165個(gè)文件信息

評(píng)論

共有 條評(píng)論