在线时间14 小时
UID323019
注册时间2014-9-4
NXP金币0
该用户从未签到
注册会员

- 积分
- 128
- 最后登录
- 2014-12-31
|

楼主 |
发表于 2014-12-19 16:34:00
|
显示全部楼层
static void PDB_init()
{
//**********************************************//
//Step 3.配置PDB,用于触发ADC
pdb_init_struct.PDB_CounterPeriodUs = 50; //PDB计数器周期,这个决定了4个通道每采集一次的间隔
pdb_init_struct.PDB_LoadModeSel = LOADMODE_0;
pdb_init_struct.PDB_ContinuousModeEnable = TRUE ; //使能连续工作模式,即只需要开始触发一次,以后PDB就会连续工作
pdb_init_struct.PDB_TriggerInputSourceSel = TRIGGER_SOFTWARE; //TRIGGER_PIT0; //软件触发模式,即不需要用其他模块触发PDB工作
/*PDB中断相关*/
pdb_init_struct.PDB_Isr = PDB_IRQHandler;
//pdb_init_struct.PDB_IntEnable = TRUE;
//pdb_init_struct.PDB_DelayMs = 500;
//初始化PDB
LPLD_PDB_Init(pdb_init_struct);
//配置PDB预触发功能
//使能ADC2-A组的预触发功能
LPLD_PDB_AdcTriggerCfg(ADC2, PRETRIG_EN_A|PRETRIG_DLY_A, 0);
//LPLD_PDB_AdcTriggerCfg(ADC2, PRETRIG_EN_A|PRETRIG_DLY_A, 0);
//使能ADC0-A组的预触发功能
LPLD_PDB_AdcTriggerCfg(ADC0, PRETRIG_EN_A|PRETRIG_DLY_A, 0); //测试,此处不能配置为BB,否则不能采集
//使能ADC0-B组的预触发功能,并使用Back to Back模式
LPLD_PDB_AdcTriggerCfg(ADC0, PRETRIG_BB_B|PRETRIG_EN_B|PRETRIG_DLY_B, 0); //延时最好设为0,否则,不够准确
//使能ADC1-A组的预触发功能,并使用Back to Back模式
LPLD_PDB_AdcTriggerCfg(ADC1, PRETRIG_BB_A|PRETRIG_EN_A|PRETRIG_DLY_A, 0);
//使能ADC1-B组的预触发功能,并使用Back to Back模式
LPLD_PDB_AdcTriggerCfg(ADC1, PRETRIG_BB_B|PRETRIG_EN_B|PRETRIG_DLY_B, 0);
//软件触发PDB开始工作
LPLD_PDB_SoftwareTrigger();
//temp_pdmod = PDB0->MOD;
//初始化PIT参数
//pit0_init_struct.PIT_Pitx = PIT0; //选择PIT0
//pit0_init_struct.PIT_PeriodUs = 50; //PIT0计数周期500ms
//初始化PIT0
//LPLD_PIT_Init(pit0_init_struct);
} |
|