지금까지 공부했던 ADC UART 를 사용해보겠다.
UART를 통해 potetionmeter로 연결된 전압의 ADC 변환결과를 전달해서
SerialPlot 이란 프로그램을 사용해 실시간으로 Plot을 그려보겠다.
SerialPlot 홈페이지에서는 다운이 안된다. 해당 링크에서 SerialPlot을 다운받아야한다.
void Driver_Asc0_TxTest(void)
{
g_AsclinAsc.count = 2;
uint16 adcResult = adcDataResult[0];
g_AsclinAsc.txData[0] = (uint8)((adcResult & 0xFF00) >> 8);
g_AsclinAsc.txData[1] = (uint8)(adcResult & 0x00FF);
IfxAsclin_Asc_write(&g_AsclinAsc.drivers.asc0, g_AsclinAsc.txData, &g_AsclinAsc.count, TIME_INFINITE);
}
ADC 변환 결과인 adcDataResult[0] 을 UART 데이터 프레임에 담는다.
한 데이터당 8비트이므로 16비트의 데이터를 반반 나눠서 담는다.


16비트 이므로 Number Type을 uint16으로 바꾼다.
다음으로 Endianness 를 Big Endian 으로 바꾼다.
가장 큰(상위) 바이트를 메모리의 낮은 주소(Low Address)에 저장하는 방식이다.
사람이 숫자를 읽는 방식과 유사하다.
예: 0x12345678 → 메모리 저장 순서: [12][34] [56][78]
가장 작은(하위) 바이트를 메모리의 낮은 주소에 저장하는 방식이다.
대부분의 현대적인 컴퓨터 아키텍처(예: x86, ARM)에서 사용한다.
예: 0x12345678 → 메모리 저장 순서: [78][56] [34][12]
데이터를 담을때 상위 바이트를 먼저 담아 전송했으니 Big endian 으로 바꾸는것이다.

Potentialmeter를 돌렸을때 바뀐 ADC Conversion 값이 정상적으로 Plotting 되는것을 확인할 수 있었다.