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

 
 
> cypress FX2 DemoBoard и светодиоды, запарило - не врубаюсь
torik
сообщение Jan 30 2007, 13:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Привет!

На плате с CY7C68013A от сайпраса хочу включить светодиоды D5-D2.
Компилятор - Кейл (в мювижене пишу)
В доке написано, что надо состряпать переменную
xdata volatile BYTE D5ON _at_ 0xB000;

а далее когда надо светодиод врубить:
BYTE dum;
dum = Diod5ON; //включение светодиоды

Блин, люди - не врубаюсь!!!! Нихрена не работает

а когда объявляю D5ON - вообще ошыбку дает, если делаю ее extern - то варнинг и всеравно них не работает...

Кто включал светодиоды на этой плате, подскажите...

При этом индикатор семисегментный и кнопки, подключенные по I2C работают нормуль...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jur
сообщение Jan 30 2007, 18:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Цитата(torik @ Jan 30 2007, 12:51) *
В доке написано, что надо состряпать переменную
xdata volatile BYTE D5ON _at_ 0xB000;

а далее когда надо светодиод врубить:
BYTE dum;
dum = Diod5ON; //включение светодиоды
Блин, люди - не врубаюсь!!!! Нихрена не работает
Цитата(torik @ Jan 30 2007, 13:12) *
ах да - и через ассемблерную вставку
#pragma asm
mov dptr,#8000h
movx a,@dptr
#pragma endasm
все работает... Вопрос в том как это на СИ кейловском записать правильно?
По-моему ты просто ошибся в адресации: в Си адрес "0xB000", а в ассемблере "0x8000". Кроме того, в объявлении указано имя переменной "D5ON", а в теле программы ты используешь "Diod5ON". С этим нужно разобраться, чтобы не было варнингов. Уточни этот момент в каком-нибудь из их многочисленных примеров. С учетом этих замечаний оба варианта абсолютно идентичны.

P.S. Да, еще. Попробуй объявить "dum" вне функции (т.е. сделай эту переменную глобальной), т.к. если она дальше не используется, то компилятор вполне мог соптимизировать это место и вообще выбросить оператор присваивания. Кстати, очень полезно включить генерацию ассемблерного листинга и смотреть прямо в коде проблемные места.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 00:25
Рейтинг@Mail.ru


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