mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-30 02:24:06 +08:00
Added SPI3 support to codec.c / Moved the codec configuration to board.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@475 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
+15
-1
@@ -42,12 +42,26 @@
|
||||
// <i>Default: 1
|
||||
#define STM32_CONSOLE_USART 1
|
||||
|
||||
// <o> LCD Modul Version
|
||||
// <o> LCD Module Version
|
||||
// <1=>Version 1:fmt0371
|
||||
// <2=>Version 2:ili9320/9325
|
||||
// <i>Default: 1
|
||||
#define LCD_VERSION 1
|
||||
|
||||
/*
|
||||
* IMPORTANT NOTICE:
|
||||
* CODEC_MASTER_MODE = 1 with CODEC_USE_SPI3 = 0 is unusable due to a hardware bug of STM32's SPI2.
|
||||
*/
|
||||
// <o> CODEC Mode
|
||||
// <0=>I2S Slave
|
||||
// <1=>I2S Master
|
||||
#define CODEC_MASTER_MODE 0
|
||||
|
||||
// <o> CODEC SPI Port
|
||||
// <0=>SPI2
|
||||
// <1=>SPI3
|
||||
#define CODEC_USE_SPI3 0
|
||||
|
||||
void rt_hw_board_led_on(int n);
|
||||
void rt_hw_board_led_off(int n);
|
||||
void rt_hw_board_init(void);
|
||||
|
||||
+120
-76
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Register Definitions */
|
||||
#define REG_SOFTWARE_RESET ((uint16_t)0)
|
||||
#define REG_POWER_MANAGEMENT1 ((uint16_t)(1 << 9))
|
||||
#define REG_POWER_MANAGEMENT2 ((uint16_t)(2 << 9))
|
||||
|
||||
@@ -353,6 +353,7 @@ void DMA1_Channel4_IRQHandler(void)
|
||||
*******************************************************************************/
|
||||
void DMA1_Channel5_IRQHandler(void)
|
||||
{
|
||||
#if !CODEC_USE_SPI3
|
||||
extern void codec_dma_isr(void);
|
||||
|
||||
/* enter interrupt */
|
||||
@@ -370,6 +371,7 @@ void DMA1_Channel5_IRQHandler(void)
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
@@ -636,6 +638,57 @@ void SDIO_IRQHandler(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : SPI3_IRQHandler
|
||||
* Description : This function handles SPI3 global interrupt request.
|
||||
* Input : None
|
||||
* Output : None
|
||||
* Return : None
|
||||
*******************************************************************************/
|
||||
void SPI3_IRQHandler(void)
|
||||
{
|
||||
#if CODEC_USE_SPI3
|
||||
extern void codec_isr(void);
|
||||
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
codec_isr();
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : DMA2_Channel2_IRQHandler
|
||||
* Description : This function handles DMA2 Channel 2 interrupt request.
|
||||
* Input : None
|
||||
* Output : None
|
||||
* Return : None
|
||||
*******************************************************************************/
|
||||
void DMA2_Channel2_IRQHandler(void)
|
||||
{
|
||||
#if CODEC_USE_SPI3
|
||||
extern void codec_dma_isr(void);
|
||||
|
||||
/* enter interrupt */
|
||||
rt_interrupt_enter();
|
||||
|
||||
if (DMA_GetITStatus(DMA2_IT_TC2))
|
||||
{
|
||||
/* clear DMA flag */
|
||||
DMA_ClearFlag(DMA2_FLAG_TC2 | DMA2_FLAG_TE2);
|
||||
|
||||
/* transmission complete, invoke serial dma tx isr */
|
||||
codec_dma_isr();
|
||||
}
|
||||
|
||||
/* leave interrupt */
|
||||
rt_interrupt_leave();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* add on 2009-12-31 for usb */
|
||||
extern void CTR_HP(void);
|
||||
extern void USB_Istr(void);
|
||||
|
||||
Reference in New Issue
Block a user