AVR firmware
AVR AD7792 SPI 인터페이스 모듈
tchan
2019. 5. 3. 12:40
AD7792는 외부 16bits ADC(Analog Digital Converter)이다.
AVR atmega 시리즈는 내부에 12bit ADC가 있으나, 종종 더 좋은 해상도가 필요할때가 있다.
먼저 사용방법은 아래와 같다.
ad7792_init();
...
uint16 data; // 16 bit adc value
if (ad7792_read_data(&data) == 0) {
printf("adc value = %d\n", data);
}
AD7792_spi.c
0.01MB
AD7792_spi.h
0.00MB
물론, 회로도에 맞게 코드에서 포트번호를 맞춰주고 사용하여야 한다. 아래 부분에서 수정한다.
#define PORT_AD7792_CE PORT(C,1)
#define PORT_AD7792_CLK PORT(C,2)
#define PORT_AD7792_DATA PORT(C,3)
#define PORT_AD7792_RDY_DOUT PORT(C,4)
또한, ad7792_init() 부분에 레지스터 초기화하는 부분을 필요에 맞게 수정해주어야 한다.
이부분은 데이터시트를 보고 공부하면서 하시라.
- 입력 전압 범위는 몇 V인지,
- gain은 얼마로 할건지 (입력전압을 몇 배수로 측정할건지) 등등
대부분의 칩 자료들은 영어로 되어 있다. 영어에 익숙해져야할 필요가 있다.
영어가 싫더라도 차근차근 읽어보면 익숙해진다. ^^;
꾸준히 읽어보면, 문학이 아니라, 금방 쉬워진다.