|
|
  |
возможно ли на Си, объединить биты регистров портов микроконтроллера |
|
|
|
Jun 13 2009, 22:17
|

Местный
  
Группа: Участник
Сообщений: 252
Регистрация: 2-03-08
Пользователь №: 35 557

|
Цитата(DpInRock @ Jun 13 2009, 23:38)  Вы всегда смотрите, как именно ваши фантазии будет реализовыватcя на данной системе команд. Имеет ли смысл? Вариант с опросом разных битов в разных портах не очень удобен. Я как -то делал для одного порта - присваивал структуре адрес регистра саециального назначения с помощью директивы #byte в компиляторе CCS для пиков. Сейчас задача для нека, используя ИАР
--------------------
One Chip is All You Need
|
|
|
|
|
Jun 14 2009, 05:17
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(sergeeff @ Jun 14 2009, 03:20)  Почитайте современные книги..... Прости, господи  , а может просто надо не только "читать современные книги", но и читать просто книги, и просто думать, когда пишешь? Причем пишешь не только макросы, а то возникнут "грабли".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 14 2009, 10:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(Herz @ Jun 14 2009, 12:47)  Такие книжки читать как раз не нужно, ИМХО. Ибо это из категории вредных советов.  Да нет, сами по себе советы вместо #define использовать const и темплейты - правильные. Просто в тех книгах речь идёт о С++ и типичных его применениях - для ваяния многомегабайтных монстров. А тут случай практически противоположный - манипуляции битами на самом нижнем уровне, никакой переносимости не требуется по определению, зато важна эффективность. Но, разумеется, хотелось бы собрать в одном месте все зависимости от номеров битов в портах, чтобы при правках не искать их по всей программе. Альтернатива - написать пару функций для чтения и для записи, а для эффективности инлайнить их.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Jun 14 2009, 10:49
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SSerge @ Jun 14 2009, 13:21)  Но, разумеется, хотелось бы собрать в одном месте все зависимости от номеров битов в портах, чтобы при правках не искать их по всей программе. Описываю весь доступ к портам через макросы в одном h-файле и не парюсь. В прочих файлах НИКАКОГО упоминания о портах, только макросы с осмысленными названиями. Просто для понимания. Существенно упрощает портирование. К сожалению, есть проблема инлайнить функции, определенные в других модулях, теоретически можно тоже через #include, но это уж точно на изврат похоже.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|