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

 
 
> Вопрос по работе с битами в WINAVR
sherr
сообщение Jan 20 2007, 22:44
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 10-06-06
Из: Ставрополь
Пользователь №: 17 955



Как сделать, чтобы в WINAVR можно было бы работать с отдельными битами аналогично
CVAVR например PORTD.5=0 . Где-то видел готовый хидер для этого, но,увы...
не могу найти. Также интересут другие подобные хидеры облегчающие переход между
различными версиями компиляторов С для AVR.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Jan 21 2007, 02:06
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
С другой стороны, по-моему данная проблема (перехода) интересует только преподавателей и людей неопределившихся. Вторые делают переход как правило один - два раза. И если они ещё неопределились, то у них, как правило, ещё мало наработанных программ.

Вероятно Вам мало приходилось таскать программы с платформы на платформу.
Иногда даже в рамках одной платформы, возникает необходимость прыгать между компиляторами.
Поэтому писать надо так, чтобы было как можно меньше привязок и к железу и к компилятору. Все привязки выносить на отдельный уровень. А логику работы программы писать строго на plain C. Но это Вы и без меня знаете smile.gif

to sherr
Порты напрямую лучше неиспользовать вообще, тем более подобные записи как PORTD.5=x. Перекроили плату и что делать с этими PORTD.5? Искать по всем кускам программы? А если сильно перекроили - программу в корзину и писать новую?

Почему бы просто не наделать требующихся макросов из названий которых было бы ясно, что они делают и разместить их в отдельном хидере. Что-то типа такого:

hal_led_lala_hide();
или
hal_jumper_blabla()
и т.п.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 21 2007, 05:02
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(defunct @ Jan 21 2007, 03:06) *
Цитата
С другой стороны, по-моему данная проблема (перехода) интересует только преподавателей и людей неопределившихся. Вторые делают переход как правило один - два раза. И если они ещё неопределились, то у них, как правило, ещё мало наработанных программ.

Вероятно Вам мало приходилось таскать программы с платформы на платформу.
Иногда даже в рамках одной платформы, возникает необходимость прыгать между компиляторами.
Поэтому писать надо так, чтобы было как можно меньше привязок и к железу и к компилятору. Все привязки выносить на отдельный уровень. А логику работы программы писать строго на plain C. Но это Вы и без меня знаете smile.gif

to sherr
Порты напрямую лучше неиспользовать вообще, тем более подобные записи как PORTD.5=x. Перекроили плату и что делать с этими PORTD.5? Искать по всем кускам программы? А если сильно перекроили - программу в корзину и писать новую?

Почему бы просто не наделать требующихся макросов из названий которых было бы ясно, что они делают и разместить их в отдельном хидере. Что-то типа такого:

hal_led_lala_hide();
или
hal_jumper_blabla()
и т.п.


Хм.. С компилятора на компилятор прыгать не приходилось. С камня на камень - да.

Совершенно с Вами согласен. Я делаю правда не так, как уважаемый Сергей Борщ, скажем ближе к Вам, defunct. smile.gif Но, в общем смысл тот же. Я даже порты в явном виде в своём проекте, как правило, не указываю. А мой пример, я просто постарался приблизить к вопросу. Так сказать наметил направление движения. smile.gif А Вы развили.
Go to the top of the page
 
+Quote Post



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

 


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


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