Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.02.2008, 21:15
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если ты про MPLAB C18, то не знаю, он мне не понравился.
Тогда пиши ( byte & 128 )›0
|
|
|
|
25.02.2008, 22:39
|
|
Временная регистрация
Регистрация: 05.06.2005
Сообщений: 84
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от alkl
|
Если ты про MPLAB C18, то не знаю, он мне не понравился.
Тогда пиши ( byte & 128 )›0
|
Поставь себя на место копайлера, который не знает какой байт, и какой бит будет проверяться. Если ты прочтешь внимательно начало ветки, то вопрос был как передать в функцию байт и бит. Т.е изначально неизвестно какой бит, я его передаю в функцию с аргументами....
|
|
|
|
25.02.2008, 22:52
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если номер бита не константа, то без сдвига не обойтись.
А бит объявить в mplabe нада? Если да, то там нельзя. Там структуры надо делать.
|
|
|
|
25.02.2008, 23:02
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
А можно попробывать сделать массив с константами. Номер бита будет индексом массива, и делать лог И. Ни каких сдвигов не будет, всё через косвенную адресацию.
|
|
|
|
25.02.2008, 23:03
|
|
Временная регистрация
Регистрация: 05.06.2005
Сообщений: 84
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от alkl
|
Если номер бита не константа, то без сдвига не обойтись.
А бит объявить в mplabe нада? Если да, то там нельзя. Там структуры надо делать.
|
ну почему, можно передать в функцию адрес байта. в хайтеке и ссц есть такая опция, присваивания адреса каждому биту. следовательно по номеру бита есть и возможность протестировать его за один машинный цикл. Хотя может и ошибаюсь потому что ручками это не реализовывал.
А про структуры поподробней можно? где хотябы это почитать можно? мне надо флаги объявить...
|
|
|
|
25.02.2008, 23:10
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Завтра сутра напишу, на работу выду. Щас с мобилы лазаю, неудобно, да и точно не помню. Я структурами редко пользуюсь.
|
|
|
|
25.02.2008, 23:11
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Завтра сутра напишу, на работу выду. Щас с мобилы лазаю, неудобно, да и точно не помню. Я структурами редко пользуюсь.
|
|
|
|
25.02.2008, 23:13
|
|
Временная регистрация
Регистрация: 11.12.2007
Сообщений: 79
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
cтоп, мухи отдельно, котлеты отдельно... Битовые переменные, которые можно объявить в хайтеке - исключение, а не правило среди "мелких" компиляторов. Поэтому в этом вопросе вообще не фиг на Хайтек ориентироваться.Если хочешь свой код портировать потом на другие платформы. Существуют 2 метода разложения байтов на биты - представить байт в виде структуры из 8 бит или через столь нелюбимое биттест - битклир...Нужно флаг встроенного регистра проверить - открываем н файл камня и смотрим, как он правильно называется... Вот по имени и обращаемся, компилятор поймет. Только свой флаг нужно объявлять, а остальные уже объявлены.
|
|
|
|
25.02.2008, 23:26
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от arkbox
|
есть такая опция, присваивания адреса каждому биту.
|
Но сдесь тоже явно адрес указываешь. А мы говорим о динамическом номере бита.
|
|
|
|
25.02.2008, 23:36
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от urry1
|
представить байт в виде структуры из 8 бит
|
Только одна проблема, этому байту ни чего не присвоишь. Если его адрес не указан явно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:16.
|
|