Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Програмирование портов Infenon С167CS-LM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
serega_sw
Пример кода бута для C167

Код
.....
mov    SYSCON, #0C007h

bset    DP6.0
bclr    P6.0

bset    DP6.1
bset    P6.1

bset      DP4.0
bset      P4.0

lp:
    jmps    far seg MON, lp
......


Но всё равно на ноге P6.0 стоит 5В, на P4.0 - 0В

У меня что неправильно SYSCON настроен? или ещё что-то надо.
Andrew2000
Цитата(serega_sw @ Nov 3 2008, 12:13) *
Но всё равно на ноге P6.0 стоит 5В, на P4.0 - 0В
У меня что неправильно SYSCON настроен? или ещё что-то надо.

P4.0 - альтернативная функция - A16
P6.0 - CS0
P6.1 - CS1

SYSCON тут не влияет, есть RP0H.CSSEL и RP0H.SALSEL - вот здесь и определяется, что будут работать CSx и Axx, и управлять ими как GPIO нельзя
serega_sw
Цитата(Andrew2000 @ Nov 3 2008, 14:04) *
P4.0 - альтернативная функция - A16
P6.0 - CS0
P6.1 - CS1

SYSCON тут не влияет, есть RP0H.CSSEL и RP0H.SALSEL - вот здесь и определяется, что будут работать CSx и Axx, и управлять ими как GPIO нельзя


Что это такое RP0H.CSSEL и RP0H.SALSEL адреса и биты можешь сказать.
GPIO имеешь ввиду как портами управлять нельзя?
Andrew2000
Цитата(serega_sw @ Nov 3 2008, 13:45) *
Что это такое RP0H.CSSEL и RP0H.SALSEL адреса и биты можешь сказать.
GPIO имеешь ввиду как портами управлять нельзя?

Есть регистр SYSCON, а есть RP0H.
CSSEL и SALSEL - битовые поля в RP0H. См. мануалъ - там все есть.
GPIO как портами - да - bset/bclr Px.y - нельзя, если для данной ноги альтернативная функция задана.
serega_sw
Получается мне надо сделать чтобы все порты работали в основном режиме- ввода/вывода. не используя альтернативные функции.
Эт надо только надо в BYSCON0 менять состояния битов?
Andrew2000
Цитата(serega_sw @ Nov 3 2008, 23:52) *
Получается мне надо сделать чтобы все порты работали в основном режиме- ввода/вывода. не используя альтернативные функции.
Эт надо только надо в BYSCON0 менять состояния битов?

BYSCONx задает только временные диаграммы на шине. Кол-во CS задается, возможно, подтяжкой ног при вкл. питания (подробности не помню - лет 5 с SAB не работал), либо в регистре RSTCON - поля CSSEL и SALSEL (в RP0H только контроль) - см. Users Manual - там все есть!
А еще лучше - поставить программку DAvE - качается с http://www.infineon.com/dave/
Это оч. удобный визард для генерации инициализационного кода.
serega_sw
Спасибо и на этом.
Мануал я много раз перечитывал, там сухие факты.

"есть PORT0 он находится в основном режиме (General Purpise), и имеется ещё 4 альтернативных режима"

как выставляются алтернативные режиме описано, как выставить режим портов нету.
Andrew2000
Цитата(serega_sw @ Nov 4 2008, 14:11) *
Мануал я много раз перечитывал, там сухие факты. ... как выставляются алтернативные режиме описано, как выставить режим портов нету.

А что нужно кроме фактов? В UsersManual есть все, что нужно.
Режим портов - это когда _не_ выставлены альтернативные режимы (т.е. ноги не заняты альтернативными функциями).
Поставьте DAvE - снимется большинство вопросов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.