Помогите начинающему с внешним АЦП
Добрый день честной народ!
Помогите с проблемой.
Изначально делаю пиковый детектор.
В рамках решения этой задачи использую АЦП MCP 3201. АЦП считываю Mega 48. Программа простейшая:
По внешнему импульсу запускается счетчик. Обработчики прерываний счетчика и SPI такие:
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
TCCR0B=0x00;
SPDR=0xAA;
i=1;
}
// SPI interrupt service routine
interrupt [SPI_STC] void spi_isr(void)
{
unsigned char data;
switch (i) {
case 1 : data=SPDR;
PORTC=data;
SPDR=0xAA;
i=2;
break;
case 2 : data=SPDR;
i=3;
break;
default : break;
};
На 1 ногу АЦП подаю опору,
2-сигнал,
3,4 –земля,
5 соединил с выходом SS SPI (на ней в рабочем режиме земля),
6- данные,
7-sck.
После прошивки контроллера на выходе SCK вижу 16 красивых импульсов.
Выход data АЦП подключил к ноге MISO контроллера. Но на этой ноге ничего нету в этом вся проблема.
|