0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【中科昊芯Start_DSC28034PNT湖人开发板试用体验】--学写一个ADC

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-18 16:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:yjp, 帖子地址:https://bbs.elecfans.com/jishu_2293870_1_1.html

ADC例子如下
首先配置ADC,对ADC进行初始化。
作 用:配置ADC**********************/void ADC_Init(void){ EALLOW; AdcRegs.ADCCTL1.bit.ADCREFSEL = 0; /NT脉冲产生在ADC结果锁定到其结果寄存器之前发生一个周期/ AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; /中断选择3寄存器/ AdcRegs.INTSEL3N4.bit.INT3E = 1; /每当产生EOC脉冲时,都会产生附加脉冲,而不管是否清除了标记位/ AdcRegs.INTSEL3N4.bit.INT3CONT = 0; /EOC6是ADCINT3的触发器*/ AdcRegs.INTSEL3N4.bit.INT3SEL = 6;AdcRegs.ADCSAMPLEMODE.all = 1;

/*将SOC0设置为样本A0*/
AdcRegs.ADCSOC0CTL.bit.CHSEL = 0;
/*将SOC1设置为样本A1*/
AdcRegs.ADCSOC1CTL.bit.CHSEL = 1;
/*将SOC2设置为样本A2*/
AdcRegs.ADCSOC2CTL.bit.CHSEL = 2;
/*将SOC3设置为样本A3*/
AdcRegs.ADCSOC3CTL.bit.CHSEL = 3;
/*将SOC4设置为样本A4*/
AdcRegs.ADCSOC4CTL.bit.CHSEL = 4;
/*将SOC5设置为样本A6*/
AdcRegs.ADCSOC5CTL.bit.CHSEL = 6;
/*将SOC6设置为样本A7*/
AdcRegs.ADCSOC6CTL.bit.CHSEL = 7;
/*将SOC7设置为样本B1*/
AdcRegs.ADCSOC7CTL.bit.CHSEL = 9;
/*将SOC8设置为样本B2*/
AdcRegs.ADCSOC8CTL.bit.CHSEL = 10;
/*将SOC9设置为样本B3*/
AdcRegs.ADCSOC9CTL.bit.CHSEL = 11;
/*将SOC10设置为样本B4*/
AdcRegs.ADCSOC10CTL.bit.CHSEL = 12;
/*将SOC11设置为样本B6*/
AdcRegs.ADCSOC11CTL.bit.CHSEL = 14;
/*将SOC12设置为样本B7*/
AdcRegs.ADCSOC12CTL.bit.CHSEL = 15;

/*SOCx触发源选择:ADCTRIG5-ePWM1,ADCSOCA*/
AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC2CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC3CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC4CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC5CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC6CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC7CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC8CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC9CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC10CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC11CTL.bit.TRIGSEL = 0x05;
AdcRegs.ADCSOC12CTL.bit.TRIGSEL = 0x05;

/*采样窗口长达6个周期(2n+6个时钟周期)*/
AdcRegs.ADCSOC0CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC1CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC2CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC3CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC4CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC5CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC6CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC7CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC8CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC9CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC10CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC11CTL.bit.ACQPS = 0;
AdcRegs.ADCSOC12CTL.bit.ACQPS = 0;

EDIS;
}
ADC的中断服务函数如下Uint32 adcVal[16];/***********************函数名:void INTERRUPT adc_isr() *参 数:无 *返回值:无 *作 用:adc中断服务函数**********************/void INTERRUPT adc_isr(){ while(AdcRegs.ADCCTL1.bit.ADCBSY == 1) { }adcVal[0] = AdcResult.ADCRESULT0;
adcVal[1] = AdcResult.ADCRESULT1;
adcVal[2] = AdcResult.ADCRESULT2;
adcVal[3] = AdcResult.ADCRESULT3;
adcVal[4] = AdcResult.ADCRESULT4;
adcVal[5] = AdcResult.ADCRESULT5;
adcVal[6] = AdcResult.ADCRESULT6;

adcVal[7] = AdcResult.ADCRESULT7;
adcVal[8] = AdcResult.ADCRESULT8;
adcVal[9] = AdcResult.ADCRESULT9;
adcVal[10] = AdcResult.ADCRESULT10;
adcVal[11] = AdcResult.ADCRESULT11;
adcVal[12] = AdcResult.ADCRESULT12;

EALLOW;
/*清除ADCINTFLG寄存器中各自的标志位*/
AdcRegs.ADCINTFLGCLR.bit.ADCINT3 = 0x1;
/* 清除ADCINTOVF寄存器中相应的溢出位*/
AdcRegs.ADCINTOVFCLR.bit.ADCINT3 = 0x1;
/* 中断应答*/
PieCtrlRegs.PIEACK.all = PIEACK_GROUP10;
EDIS;}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 中科昊芯
    +关注

    关注

    5

    文章

    84

    浏览量

    5894
  • 开发板试用
    +关注

    关注

    3

    文章

    303

    浏览量

    2645
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【获奖名单】2025开发板评测大赛优秀开发者、最受欢迎开发板公布

    试用测评后通过问卷调查投票,选出了各自心目中最受欢迎的开发板。现将名单同予以公示。 大赛作品详情:【作品精选】2025电子发烧友开发板测评大赛作品合集! 优秀作品
    发表于 11-21 09:31

    【作品合集】飞凌嵌入式OK527N-C开发板测评

    作品合集 第十三期合集 : 玄铁Banana Pi BPI-RV2开发板测评作品合集 第十四期合集 : 玄铁BPI-CanMV-K230D-Zero开发板测评作品合集 第十五期合集 : 中科
    发表于 09-22 15:54

    【作品合集】中科Core_DSC280025C开发板测评

    的应用 【中科Core_DSC280025C开发板试用体验】---外部中断问题 第
    发表于 09-18 10:52

    【作品精选】2025电子发烧友开发板测评大赛作品合集!

    Milk-V Duo S 开发板免费试用 玄铁Banana Pi BPI-RV2开发板试用 玄铁Banana Pi BPI-CanMV-K230D-Zero17
    发表于 09-03 15:24

    中科Core_DSC280025C开发板的外部中断问题

    获得中科Core_DSC280025C开发板开发板后,我就抓紧时间研究,无奈学识浅薄,学得很
    发表于 08-08 22:06

    中科Core_DSC280025C开发板试用体验】---LED闪烁灯

    中科Core_DSC280025C开发板试使用了
    发表于 08-07 11:51

    中科Core_DSC280025C开发板试用体验】+4. CAN外设调试(含源码)

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是款DSP的
    发表于 08-05 20:46

    中科Core_DSC280025C开发板试用体验】+SCI测试与代码解读

    Core_DSC280025C核心使用了HXS320F28025CRISC-V DSP芯片,该芯片集成了吴自主研发的H28x内核。核
    发表于 07-17 10:42

    中科Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是款DSP的
    发表于 07-13 16:07

    中科Core_DSC280025C开发板试用体验】+2.RAM工程与FLASH工程对比

    前言 大家好,非常感谢电子发烧友与中科提供的DSC280025C开发板,这是款DSP的
    发表于 07-04 10:37

    中科Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比

    中科Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比 前言 大家好,
    发表于 06-29 10:01

    AioneMotor_DSC28034_L3F驱控现货库存

    AioneMotor_DSC28034_L3F驱控中科新推出的性能卓越电机驱控
    发表于 06-27 09:07

    有奖丨米尔 瑞微RK3562开发板免费试用新增名额!

    米尔与瑞微合作发布的新品基于瑞微RK3562应用处理器的MYD-YR3562开发板免费试用名额增加
    的头像 发表于 06-13 08:04 862次阅读
    有奖丨米尔 瑞<b class='flag-5'>芯</b>微RK3562<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>新增名额!

    中科Core_DSC280025C开发板免费试用

    Core_DSC280025C核心使用了HXS320F28025C RISC-V   DSP芯片,该芯片集成了吴自主研发的H28x内
    的头像 发表于 06-03 19:30 712次阅读
    <b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>Core_<b class='flag-5'>DSC</b>280025C<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    中科DSP产品及公司信息

    库和驱动库,帮助用户降低迁移成本,缩短开发周期。同时,公司还推出了多种开发板和核心,如Core_DSC28027和Start_DSC28034
    发表于 04-07 09:16