[an error occurred while processing this directive]
Хм, может я лесбиян :) но эти голландские программисты от филипка уже достали. В сырцах для кита на 51 проц для доступа к отдельным битам используют битовые поля(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
КонстантинТ 06 февраля 2005 г. 13:58
|
|
|
|
Вот и полуается такая х***
USB_Int_Flag.BITS.EP0TX = 0;
Хотя можно проще
USBInterrupt &= ~(EPOTX);
Или через макрос, и так перековеркана вся прога небольшого кита. Мало того, что битовые поля по разному работают на различных процах и компиляторах, плюс еще надо следить за выравниванием. Им наверное за строчки кода платят.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Вы хотя бы знаете как пишутся программы в серьезных фирмах? — Elektronik (06.02.2005 18:08, 263 байт)
- именно - за строчки кода. — scorpion (06.02.2005 14:05, пустое)
- Я не знаю про голландцев. Но на всех гнусях битовые поля работают одинакого. — Artem (06.02.2005 14:04, 195 байт)
- опыт работы с 8 и 32 битными есть ? разбираться с размерами int кто будет ? — DASM (06.02.2005 14:09, пустое)
- uint_08, uint16_t, int16_t.... in64_t (c)ArmGCC Для выравнивания есть attribute packed — Artem (06.02.2005 14:12, пустое)
- Угу, сам недавно с фатом страдал, пока допер что надо в конце структур packed ставить. — КонстантинТ (06.02.2005 14:12, пустое)
- и вообще все это глупости. Дергать портами, битиками.. есть же в мцю теперь бутлоадеры, пусть будут и прописанные драйверы перифирии. А мы им DeviceIoControl через int21, и про биты забить и забыть — DASM (06.02.2005 14:11, пустое)
- Нахер считать биты, сделай хедер с дефайнами, и работай с битами хоть через макрос, как делают в сорцах на TI(+) — КонстантинТ (06.02.2005 14:09, 87 байт)
- а этот регистр не побитово доступный ? Может кошерные компиляторы сразу clrb поставят, а не read-modify-write устроят — DASM (06.02.2005 14:04, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru