Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Помогите начинающему с внешним АЦП
Отправлено
VadimL 09 июля 2009, г. 15:08
Добрый день честной народ!
Помогите с проблемой.
Изначально делаю пиковый детектор.
В рамках решения этой задачи использую АЦП 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 контроллера. Но на этой ноге ничего нету в этом вся проблема.
Составить ответ | Вернуться на конференцию.
Ответы