📄 main.c
字号:
#include "config2cfg.h"
#include <csl.h>
#include <csl_mcbsp.h>
#include <csl_edma.h>
#include "tanln.h"
void main(void)
{
Edma_init();
LOG_printf(&trace,"the main function is correct");
}
void mcbsp_init(void)
{
MCBSP_start ( hMcbsp0, MCBSP_RCV_START | MCBSP_XMIT_START | MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 0x8000);
IRQ_clear(IRQ_EVT_XINT0);
IRQ_enable(IRQ_EVT_XINT0);
}
void Edma_init(void)
{
IRQ_clear(IRQ_EVT_EDMAINT);
IRQ_enable(IRQ_EVT_EDMAINT);
EDMA_intClear(13);
EDMA_intEnable(13);
MCBSP_start(hMcbsp0, MCBSP_RCV_START | MCBSP_XMIT_START | MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 0x8000);
}
void DAC_ISR(void)
{
static int s_swa_TempDataSim;
s_swa_TempDataSim = g_swa_MatlabSinDataInput[g_sw_MatsinDataCnt++];
MCBSP_write(hMcbsp0 , s_swa_TempDataSim);
g_sw_MatsinDataCnt &= 99;
LOG_printf(&trace,"Here Recruiting");
}
void Edma_ISR(void)//保证EDMA的中断率
{
static unsigned int u_sc_PingPongFlg = PING_STATE;
int i;
EDMA_intClear(13);
LOG_printf(&trace, "Enter Edma ISR");
//工程上需要通过多个区域的缓冲来保证数据流量控制
if(u_sc_PingPongFlg == PING_STATE)
{
for ( i = 0 ; i < 16 ; i++ )
{
//g_swd_TxpingData[i] = (g_swd_RxpongData[i])<<2;
//a
g_uhwa_AdcSmplBuff[g_uw_AdcSmplCnt++] = g_swd_RxpingData[i];
g_uw_AdcSmplCnt &= 1023;
LOG_printf(&trace, "twics");
}
LOG_printf(&trace, "Copy From Ping Buff");
u_sc_PingPongFlg = PONG_STATE;
}
else
{
for ( i = 0 ; i < 16 ; i++ )
{
//g_swd_TxpongData[i] = (g_swd_RxpingData[i])<<2;
g_uhwa_AdcSmplBuff[g_uw_AdcSmplCnt++] = g_swd_RxpongData[i];
g_uw_AdcSmplCnt &= 1023;
}
LOG_printf(&trace, "Copy From Pong Buff");
u_sc_PingPongFlg = PING_STATE;
}
}
void ADC_ISR(void)
{
int i;
for ( i = 0 ; i < 20 ; i++ )
{
g_uhwa_AdcSmplBuff[g_uw_AdcSmplCnt++] = g_swa_MatlabSinDataInput[i] ;
g_uw_AdcSmplCnt &= 1023;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -