![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Это кусок кода на СИ, под микроконтроллер. Вот столкнулся с такой проблемой. Сначала код был без дефайнов, всё было прописано как есть. Но я подумал., что если сменится порт, то лучше исправить его в одном месте, чем во всей программе. И вот вопрос. Пины то я задефайнил и порт. А вот в ф-ии KEYBOARD_INI идёт настройка входов и выходов, конфигурацией регистров CRL и CRH. То есть получается мне надо делать отдельные дефайны для каждого GPIO_CRH_CNF11_0 | GPIO_CRH_CNF12_0 | GPIO_CRH_CNF13_0 | GPIO_CRH_CNF14_0? Знаюч что проще использовать STD periph, но не хочу. Надо всё оставить на CMSISe. Как в таком случае сделать дефайны? И ещё вроде говорят, что дефайны много памяти едят? |
|||
|
||||
a0730 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Попробуй описать CRH как набор битовых полей.
и ставить или гасить биты
Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
a0730 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Попробуй описать CRH как набор битовых полей.
и ставить или гасить биты
Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
a0730 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Попробуй описать CRH как набор битовых полей.
и ставить или гасить биты
Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Если вы еще не бросились все переписывать на битовые поля
![]()
С чего бы вдруг? Дефайны вообще в С компилятор не попадают - их препроцессор заменяет на текст перед компиляцией |
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Спасибо за ответы, попробую
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
supercelt, мой опыт работы с МК говорит о том, что все это бестолку. В новом проекте все будет сильно иначе. Поэтому, дроби всё на мелкие функции, в которые будут спрятаны низкоуровневые операции с портами и битами. В новом проекте тебе нужно будет менять лишь их.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |