【DSP】TMS320F28035 ADC例程(ePWM+中断)
来源:互联网 发布:风速打印软件 编辑:程序博客网 时间:2024/06/05 03:48
#include "DSP28x_Project.h"interrupt void adc_isr(void);Uint16 ConversionCount;Uint16 Voltage1[10];Uint16 Voltage2[10];main(){ InitSysCtrl(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; PieVectTable.ADCINT1 = &adc_isr; //映射ADC中断 EDIS; InitAdc(); PieCtrlRegs.PIEIER1.bit.INTx1 = 1; //使能PIE级INT1.1中断 IER |= M_INT1; //使能CPU级INT1中断 EINT; //使能总中断 ConversionCount = 0; EALLOW; AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; //转换完成前一个ADC时钟周期产生EOC AdcRegs.INTSEL1N2.bit.INT1E = 1; //使能ADCINT1 AdcRegs.INTSEL1N2.bit.INT1CONT = 0; //关闭连续模式 AdcRegs.INTSEL1N2.bit.INT1SEL = 1; //将ADCINT1映射到EOC1 AdcRegs.ADCSOC0CTL.bit.CHSEL = 0; //将ADCINA0映射到通道0 AdcRegs.ADCSOC1CTL.bit.CHSEL = 1; //将ADCINA1映射到通道1 AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 5; //ePWM1A触发SOC0 AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 5; //ePWM1A触发SOC1 AdcRegs.ADCSOC0CTL.bit.ACQPS = 6; //设置窗口采样次数 AdcRegs.ADCSOC1CTL.bit.ACQPS = 6; //设置窗口采样次数 EDIS; //还没开始研究ePWM EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value EPwm1Regs.TBPRD = 0xFFFF; // Set period for ePWM1 EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start for(;;) { }}interrupt void adc_isr(void){ Voltage1[ConversionCount] = AdcResult.ADCRESULT0; Voltage2[ConversionCount] = AdcResult.ADCRESULT1; if(ConversionCount == 9) { ConversionCount = 0; } else ConversionCount++; AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //清除EOC1信号(ADCINT1) PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; //写1清0,写0无效}
阅读全文
2 0
- 【DSP】TMS320F28035 ADC例程(ePWM+中断)
- 【DSP】TMS320F28035 ADC例程(ePWM+查询)
- 【DSP】TMS320F28035 ADC例程(软件触发+中断)
- 【DSP】TMS320F28035 定时器中断例程
- 【DSP】TMS320F28035 ADC例程(软件触发+查询)
- 【DSP】TMS320F28035 GPIO外部中断例程
- 【DSP】TMS320F28035 GPIO例程
- 【DSP】TMS320F28035 SCI例程(自发自收+查询)
- TMS320F28035之ADC
- dsp EPWM模块总结
- 【DSP】TMS320F28035 IQmath配置
- DSP-ADC
- MC9S12DG128系列例程--ADC
- arm-linux --ADC驱动(中断方式)
- DSP中断
- Dsp28335 - ePWM - 50Hz小舵机的控制 - 代码例程
- DSP例程结构
- adc 裸机中断程序
- hive(一) hive背景知识介绍-数据仓库技术简介
- LeetCode136 Single Number
- Java多线程基础--08之 join()
- Unity_相机跟随效果_052
- python对象身份的比较
- 【DSP】TMS320F28035 ADC例程(ePWM+中断)
- 【PAT】【Advanced Level】1036. Boys vs Girls (25)
- Anagrams变位词
- 神经网络与深度学习 1.6 使用Python实现基于梯度下降算法的神经网络和MNIST数据集的手写数字分类程序
- 开发微信小程序:工具准备和发布流程
- 换电脑,重新布置环境
- jquery的总体架构分析及实现示例详解
- R语言画不全词云图问题
- JavaScript中this的指向