From 5a168fc672a5117f37c56fd436f45645ce6502ab Mon Sep 17 00:00:00 2001 From: unicod Date: Fri, 27 Feb 2026 20:54:41 +0100 Subject: [PATCH] Basic codec init for stereo playing on Codec-A - essential audio routing configured for DAC - out: headphone L+R - sound: sine wave (double freq on right channel) --- Core/Src/main.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Core/Src/main.c b/Core/Src/main.c index 355c7d5..c091b3d 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -26,6 +26,7 @@ #include "disp7seg.h" #include "printf.h" +#include "tlv320aic3104_ctrl.h" #include "usart2_dma.h" #include "usart3_dma.h" #include "uart5_it.h" @@ -132,6 +133,23 @@ void ProcessUsart3RxData(const uint8_t* data, uint16_t len) { #endif } +/***************************************************************************//** +* @brief TLV320AIC3204 codec init with basic config for stereo playing (DAC) +*//****************************************************************************/ +void TLV320_AIC3204_Init() { + TlvWriteReg(CODEC_A, TLV_PAGE_0, 3, 0x10); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 7, 0x0A); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 9, 0x10); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 47, 0x80); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 51, 0x09); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 43, 0x00); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 37, 0xD0); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 44, 0x00); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 64, 0x80); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 65, 0x09); + TlvWriteReg(CODEC_A, TLV_PAGE_0, 38, 0x0C); +} + /* USER CODE END 0 */ /** @@ -213,6 +231,9 @@ int main(void) Usart2_DMA_Init(ProcessUsart2RxData); Usart3_DMA_Init(ProcessUsart3RxData); Uart5_Init(); + + TLV320_AIC3204_Init(); + printf("Hello printf\n"); /* USER CODE END 2 */