请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432E401Y 主题中讨论的其他器件:MSP-EXP432E401Y、
你好!
目前、我在 MSP-EXP432E401Y 上使用 MSP432E401Y。
过去2天、我尝试在寄存器上配置 ADC、但这不起作用。
我的初始化序列与技术参考手册中的序列相同。
但 ADCACTSS 中的位忙总是在1中设置。 在 ADCSSFIFO0中-在初始化期间生成的随机值。 我太累了、所以我需要您的帮助、请!
源代码:
/* PK1 - AIN17 */* 启用 GPIOK 时钟*/ SYSCTL_RCGCGPIO |=(1 << 9); //等待 GPIOK 就绪*/ while (!(SYSCTL_PRGPIO &(1 << 9))); //启用备用函数*/ GPIO_AFSEL (GPIOK)|= 1 ~*(GPIOk)<1);*禁用 GPIO<1 (1)<1) /*启用模拟模式*/ GPIO_AMSEL (GPIOK)|=(1 << 1); /*禁用上拉*/ GPIO_PUR (GPIOK)&=~(1 << 1); /*禁用下拉*/ GPIO_PDR (GPIOK)&=~(1 << 1); //启用 ADCSCTL |0 (RCG0) /*等待 ADC0就绪*/ while (!(SYSCTL_PRADC &(1 << 0))); /* ADC0软件复位启用*/ SYSCTL_SRADC |=(1 << 0); // ADC0软件复位禁用*/ SYSCTL_SRADC &=~(1 << 0); //等待 ADC0!*等待 /*基准选择-外部 VREF+和 VREF-*/ ADC_CTL (ADC0)|=(1 << 0); /* ADC 序列发生器- 1 */ /* ADC 采样-第1个*/ /*启用第1个采样的输入选择(高位)*/ ADC_SSEMUX1 (ADC0)|=(1 << 0); /*为第1个采样选择16+1 = 17个模拟输入*/ ADC_SSMUX1 (ADC0)|=(0x01); /*序列发生器1触发器-默认情况下为处理器*/* /*第1个采样的采样保持周期- 256个 ADC 时钟*/ ADC_SSTSH1 (ADC0)= 0xC; /*为第1个采样设置序列结束位*/ ADC_SSCTL1 (ADC0)|=(1 << 1); /*启用序列发生器1 */ ADC_ACTSS (ADC0)|=(1 << 1); /*启动序列发生器1 */ ADC_PSSI (ADC0)|=(1 << 1) ;while (1);
非常感谢您的帮助!
