Jump to content

    

Kenelm

Участник
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. С этим вообще отдельная песТня. 5Vision - это походу все-таки uVision. Но! Симулятор Keil по умолчанию некорректно работает с CC1010 (не отображается второй UART, некоторые прерывания и т. д.). Для полноценной симуляции поверх Кейла нужно ставить пришлепку CC1010IDE (бесплатно валяется на сайте Texas Instruments). Однако CC1010IDE совместим только со вторым Кейлом. :(
  2. Угу, я на эту фразу много раз медитировал. :) MPAGE по умолчанию сбрасывается в 0х00. Ну а мне и надо писать в начальную страницу xdata. В том-то все и дело, что смотрел и так и так. "ptr_massiv" указывает на "X:00". Смотрю память по этому адресу - пусто! Адрес &massiv[0] - "X:00". При этом *ptr_massiv = 0xAA, а massiv[0] = 0x00. Я близок к безумию... Память большущая - вручную тяжко её всю шерстить...
  3. Среда Keil uVision2. Поверх поставлен CC1010IDE. Выбрано устройство "CC1010_debug". Пытаюсь разместить массив в pdata и создать на него указатель, расположенный в data. char pdata massiv[32]; char pdata * data ptr_massiv = massiv; code void main() { *ptr_massiv = 0xAA; *(ptr_massiv + 1) = 0xBB; } В результате при дебаггинге в окне "Watch" смотрю на содержание массива "massiv" - пустой (все элементы равны нулю). Смотрю на *ptr_massiv и *(ptr_massiv + 1) - отображается, что там содержится 0xAA и 0xBB, соответственно!!! При этом ptr_massiv указывает именно на "голову" массива "massiv"! В настройках проекта стоит: Memory model: Compact (variables in PDATA) Стоит галка напротив "Use On-chip XDATA" В startup.a51: PPAGEENABLE EQU 1 PPAGE EQU 0 PPAGE_SFR DATA 092H PS. Если массив запихнуть в data или xdata, то все работет ок.
  4. Согласованная фильтрация тут непричем. tmtlib описал частотный метод измерения дальности. "Переходные" куски из сигнала на выходе смесителя "выкидываются" (не учитываются). Сигнал на выходе смесителя состоит из двух компонент: на суммарной частоте (он впоследствии отфильтровывается) и на разностной. Разностная частота пропорциональна дальности до объекта. Для её оценки не обязательно городить Фурье - достаточно сделать простенький частотомер: устройство, которое подсчитает количество переходов разностного сигнала через ноль за время Tмод.
  5. Написал маленькую программку чисто для работы с последовательным портом 1 (нулевой задействован для других нужд). UART1 инициализируется: SCON1 = 0x50, ES1 = 1, EA = 1. Программа обработки прерывания находится по адресу 0x3B. Работаю в Keil uVision2: вручную устанавливаю RI_1 = 1. Но программа почему-то не заходит в подпрограмму обработки прерывания. Что не так? Подскажите, пожалуйста.
  6. Создаю в WaveFormer Lite временную диаграмму. Один из входных сигналов - signal_in[5:0], 6-разрядный и я задаю его значение с помощью кнопки 'Hex'. После чего сохраняю диаграмму в формате *.btim и *.v. Запускаю МоделСим и в нём почему-то значения сигнала signal_in присваевается равным 111111. Меняю в WaveFormer значение signal_in на другое - всё пересохраняю, запускаю МоделСим - тот же эффект: значения сигнала signal_in присваевается равным 111111. В 'Organize Stimulus' выбран правильный исходный файл. Одноразрядные входы работают адекватно, а вот многоразрядные - нет. :( В чем дело? Буду очень благодарен за любую помощь.
  7. Вы даже не представляете, как мне помогли! Я целый вечер бился с этой ошибкой по аналогичной причине! :)
  8. Коллеги, если кто имел опыт с данными трансиверами или им подобными, просьба помочь. Пытаемся организовать связь между двумя девайсами. При скорости до 19.2 кбод/сек (как при NRZ, так и при Манчестере) всё великолепно - ошибок нет, передача идёт "как по маслу". Только ставишь 38.4, как сразу всё рушится. Пакеты доходят убитыми в хлам (по сути - сплошные ошибки), иногда не доходят вообще. При этом расстояние - небольшое, всего метр. Мощность - FF. Кварец стоит 14.7456. Изменяем скорость, только меняя содержимое Modem0 (может, что-то ещё нужно параллельно менять?) Буду благодарен любой помощи! :)
  9. Отлично! Эксперимент прошел удачно! Спасибо Вам, коллеги!
  10. KRS и Седой, спасибо большое за помощь! Дело, скорее всего, действительно в том, что windows.h не включил. Я так понял, что FTD2XX.lib к проекту я подключил правильно (через project\settings\link)? Извините, что так дотошно спрашиваю, просто устройство - в институте, а интернета там нет, хочу заранее все возможные внештатные ситуации исключить. Ещё раз, спасибо! :)
  11. Вопрос выходит за рамки темы, однако я Вам отвечу: дело в том, что за зарплату 1500 руб./мес ни один квалифицированный специалист не пойдет на кафедру в институт разрабатывать лабораторные макеты для студентов. Приходится преподавательскому составу "закрывать дыры". Обращение к USB порту - небольшая часть большого макета. Со всем остальным всё более менее понятно, а вот вопрос программы-интерфейса под VC ещё открыт. Если вопрос не прояснится, будем пользовать, конечно, Борланд, хотя очень не хотелось бы. За ссылки спасибо, постараюсь разобраться.
  12. Спасибо за то, что откликнулись! Однако, я не специалист по программированию на языках высокого уровня и для меня большинство написанного является китайской грамотой. :( Вопрос, в сущности, простой: можно ли на VC так же просто подключить библиотеку и начать ею пользоваться, как и на BC? Я пробовал ряд советов (подключение lib-файла через project settings), однако компилятор ругается на хедер: error C2146: syntax error : missing ';' before identifier 'FT_HANDLE' В строчке, на которую ссылается компилятор всего навсего объявление переменной: typedef PVOID FT_HANDLE;
  13. Под Борланд все было сравнительно просто - длл-ка конвертировалась в либ, либ подключался через uselib. Возникла необходимость написать небольшую программку на VC6.0. Опыта работы с этой средой не было, uselib не прокатывает. Подскажите, пожалуй, как всё грамотно сделать? Заранее благодарен! :)