Индекс материала
VNC1L и все, все, все
Задача
Особенности SPI интерфейса
Некоторые особенности и дополнения
Программа
Дополнительные материалы
Все страницы

Программа

Особенность именно SPI доступа к «Винни» заключается в том, что при подаче какой – либо команды с процессора, необходимо «выгрести» весь ответ, который «Винни» должен выдать на эту команду. Это не есть проблема, например, для UART доступа, потому как, задав команду, ответ можно и не слушать, он весь асинхронно «вылезет» через UART.

Программа для Atmega128 написана на AVR Studio V4.18 Build 716. Модуль su.c – главный. В нем настраиваются системные прерывания и его задача раз в минуту писать в «Винни» строку, представленную в header.h. Модуль - spiflash.c реализует низкоуровневый аналог SPI интерфейса и высокоуровневый доступ к «Винни» для реализации процедур с файлами: открыть, записать, закрыть, определить наличие файла и т.д. Данный программный модуль работает в реальном проекте пол-года. Разработана процедура bootloader для Atmega128, которая загружает подготовленный hex-файл c флешки. «Зависонов» не наблюдается.

Для борьбы с «зависонами» в определенных местах низкоуровневых процедур, там, где есть оператор While, вылезти из бесконечного цикла помогает счетчик count1min. Этот счетчик инкреминируется по прерыванию, в то время как работа с «Винни» происходит без всякого аппаратного прерывания. Встроенный в процессор WatchDog также на страже.



Обновлено (17.06.2012 09:04)

 
Новости электроники от РадиоЛоцмана
Вопросы искусственного интеллекта, философия и практика
. @Mail.ru