MSP432 EVM - ADC 테스트 (ADC14 TFT LCD에 그래프 표시하기)
MSP432 는 MSP430과 달리 14비트 ADC를 가지고 있다. 최대 24채널 까지 입력 가능하다.
MSP432 ADC14 특징
14-bit Accuracy
INL <= +/- 2 LSB;
DNL <= +/- 1 LSB
ENOB 13-bit
32-input channels
Single-ended & differential Inputs
2 Window comparators
High interrupt
Low interrupt
In [Between] interrupt
Separate internal channels for AVcc and TempSensor
Ultra Low current consumption
Single ended 210uA @ 1.8V, 1Msps
Differential 260uA @ 1.8V, 1Msps
Window Comparator
MSP432 ADC14의 기능중 Window Comparator 가 있는데 설정 값에 따라서 하드웨어 적으로 인터럽트를 발생 해 주기 때문에 소프트웨어 적인 부담이 많이 줄일 수 있다.
// ADC14 interrupt service routine
void ADC14IsrHandler(void) {
if (ADC14IFGR1 & ADC14HIIFG)
{
ADC14CLRIFGR1 |= ADC14HIIFG; // Clear interrupt flag
}
if (ADC14IFGR1 & ADC14LOIFG)
{
ADC14CLRIFGR1 |= ADC14LOIFG; // Clear interrupt flag
}
if (ADC14IFGR1 & ADC14INIFG)
{
ADC14CLRIFGR1 |= ADC14INIFG; // Clear interrupt flag
}
}
MSP432 14bit ADC(ADC14) 결과 처리 인터럽트 코드
void ADC14_IRQHandler(void)
{
uint64_t status = MAP_ADC14_getEnabledInterruptStatus();
MAP_ADC14_clearInterruptFlag(status);
if (ADC_INT0 & status)
{
curADCResult = MAP_ADC14_getResult(ADC_MEM0);
normalizedADCRes = (curADCResult * 3.3) / 16384;
gAdcValue = curADCResult;
MAP_ADC14_toggleConversionTrigger();
}
}
MSP432 ADC 테스트 동영상
가변저항의 전압값을 TFT-LCD 그래프로 출력 하는 예제
MSP432 ADC포트 핀맵