[an error occurred while processing this directive] [an error occurred while processing this directive]
попытаюсь сделать "разбор полетов" в дополнение к ответу, который дал Turis
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено yes 11 марта 2002 г. 17:01
В ответ на: Вопрос знатокам HT-PICC. Как определить структуру битов? отправлено Xan 11 марта 2002 г. 15:25

то есть "чиста на с" я в примере не увидел ни одной конструкции (кроме #define :) )

канешна все переменные считать битовыми структурами круто, но неверно (если это тема для дискусии могу аргументировать)

всякие @ - (собаки) от НТ-С тоже мало относятся к С, это типа "абсолютная адресация" - вобщем-то маразм, но для архитектуре пика скорее плюс (в ассемблере это переводится в константы .EQU )

после @ должно стоять ЧИСЛО задающее адрес : в Вашем случае задайте Key в виде такой же абсолютной адресации или просто цифры (что одно и то же) и все будет ОК

bit это тоже очень далеко от С, это специфик фор ПИК унд НТ-С и на них есть существенные ограничения
к примеру нет локальных bit - одним словом это та же абсолютная адресация что и @ (то есть на момент компиляции положение бита в памяти фиксировано)

страно что компилер не ругнулся на

struct bits
{
bit b0, b1, b2, b3, b4, b5, b6, b7;
};

видимо он просто проигнорировал это (нужно посмотреть)

---------------------------

при всем моем уважении, все-таки прежде чем ругать НТ-С (в котором IMHO к такой жопе как ПИК прикрутили вполне удобные ручки) следовало бы разобратся

---------------------------


для обращения к битам вполне можно пользоватся BYTE&MASK BYTE&=MASK BYTE^=MASK и так далее HT-C генерит правильный код

или же правильно описанным битовым полем пользовался, при этом поля могут быть не 1 бит, а 2,3,4.. (вроде нормальный код - я детально не смотрел, но вроде не тормозит), при этом не понятно почему Turis ограничил битовые поля одним байтом - можно и больше



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru