реклама на сайте
подробности

 
 
> Вопросы по использованию макросов в IAR, Работа с файлами.
jorikdima
сообщение Aug 30 2006, 11:44
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Испоьзую IAR Kickstart. Задача следующая. На контроллере есть АЦП. Соответственно на него надо подавать аналоговый сигнал a14.gif , но источника этого сигнала нет. Поэтому с помощью макросов захотелось сэмулировать работу АЦП следующим образом:
заранее в файл например из матлаба записывает в двоичном виде оцифрованный сигнал, который хотели бы подать на АЦП. В ИАРе в проге делаем обработчик прерывания для АЦП, а само прерывание инициируется тайером А с частотой 512 раз в секунду. По идее надо в обработчике сделать что то типа
Код
Datain = ADC12MEM0

но так как сигнал то не подается поэтому ADC12MEM0 пустует. Поэтому ставим брейкпоинт, в котором выполняется макрос LoadData(). В этом макросе переменной Datain присваивается значение как бы заране мной оцифрованное smile.gif . Значение эт берется из файла, последовательно байт за байтом (Естественно файл заранее открывается ) с помощью макрофункции __readFileByte. В справке написано что возвращает эта функция считанный байт в формате uchar, а если конец файла или ошибка, то -1. Так вот, сам файл, который я заранее создал и заполнил с помощью матлаба соделжит порядка 800 байт и если считывать тем же матлабом то все они и считываются. Однако если читать файл с помощью указанной макрофункции, то считывается только 43 байта. А при считывании следующего байта функция возвращает -1.
Почему?

И еще 2 вопроса. Что делает функция __readFile()? Ест ли возможность использовать массивы в макросах. ТО есть считать сразу весь файл в массив а потом с этим массивом работать?

Спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 13:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016