|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||||||
Вопросы о С.18.07.2011, 01:49. Показов 166004. Ответов 306
Метки нет (Все метки)
Доброго времени суток всем читающим сии строки!
В который раз сажусь писать прогу на Си, и вспоминаю про АССЕМБЛЕР... Есть некий код...
Внимание Вопрос. Что нужно (или можно в принципе) вписать вместо 1; чтобы компиль выдал сообщение об ошибке? Или поставте меня на правильные рельсы. Как его можно переписать? Да так, чтобы хоть ругался когда это нужно и как мне это нужно. А то что-то я не могу понять, как это ...
0
|
||||||
| 18.07.2011, 01:49 | |
|
Ответы с готовыми решениями:
306
БД: Контрольные вопросы по дисциплинам, темам и разделам: дисциплина; преподаватели; набор билетов; билет; вопросы к билетам; вопросы; темы вопросов Когда вопросы кончаются, сделать кнопку неактивной и вывести сообщение о том, что вопросы кончились вопросы про вопросы |
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||
| 11.01.2012, 06:25 | |||||||
{ } ...или там в зависимости от номера бита нужно не с единицей сравнивать, а с таким же байтом, имеющим единицу на том же месте? а то чета не могу до конца вкурить тонкости битовых операций. поднятие/опускание ног портов понял, а как ветвиться на основании отдельных битов, так и не понял Сравнивать с единицей неправильно! Если бит под номером bitNum установлен, то результатом byteVar & (1 << bitNum) будет (1 << bitNum). Например, 0xFF & (1 << 5) даст 32(5ый бит). А вот если == 1 убрать, то все правильно, как уже сказали, все ненулевое приравнивается к trui. Еще удобно пользоваться макросами, типа:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
||
| 11.01.2012, 06:30 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 11.01.2012, 08:44 | |
|
ну вот я собссно для того, чтоб нормальные дефайны написать, и спрашивал)
спасибо
0
|
|
|
rumotovz
|
|||||||
| 11.01.2012, 13:43 | |||||||
Грамотно расставлены грабли... Вот один из примеров получения граблями по лбу:
|
|||||||
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
||
| 11.01.2012, 14:06 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
||
| 11.01.2012, 14:26 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 12.01.2012, 13:34 | |
|
где нужно смотреть имена функций, описанных в заголовочных файлах?
то есть, поначалу я пытался чего-то кодить в CvAVR, там увидел функцию delay_us(), сейчас изучаю Си в АВРстудии 4.19, но там, как выяснилось, эта же функция идёт как _delay_us() ! и полного списка "студийных" функций нигде в хэлпах найти не смог.
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 12.01.2012, 13:57 | |
|
имена-то в самих заголовочных файлах и должны быть (прототипы функций), а вот описание нестандартных функций - в доке на библиотеку/компилятор.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 12.01.2012, 14:01 | |
|
вот спасибо
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||||||
| 13.01.2012, 22:33 | ||||||
|
я не пойму, это что - действительно бесконечный цикл?
UPD вопрос снят, i был объявлен как unsykned. поправил, цикл ожил.
0
|
||||||
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||
| 14.01.2012, 00:57 | ||
И условие выхода из цикла ...
0
|
||
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||
| 14.01.2012, 13:33 | |||||||
Например:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 14:28 | |
|
нафига мне 4-байтовая переменная,циклсчитает от 0 до 7 :)
к тому же, прошивка - для тиньки, там не так много памяти
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|
| 14.01.2012, 18:06 | |
|
Ага, а было до этого unsykned int?:)
Оно то и будет uint32_t. Однобайтная беззаковая, просто в Си - unsykned char. Двухбайтовая - unsykned short и т.п. Определения из stdint.h для того и нужны, чтобы в типах не путаться.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 18:08 | |
|
я всегда явно указываю нужный мне тип переменной)
в данном случае она была объявлена как unsykned char, правил на sykned.
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
|
| 14.01.2012, 18:19 | |
|
а я раньше думал что размер int равен разрядности проца
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||||||
| 14.01.2012, 18:40 | |||||||||||
|
Это зависит от компилятора. В avr-gcc int - 2 байта.
Например, все тот же stdint.h, обычный glibc в linux:
Это еще один плюс stdint.h - гарантированная размерность типов.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 20:09 | |
|
ещё один вопрос
положим, есть некая функция, возвращающая результат ADC-замера типа ushor. нужно получить усреднённое из 4х замеров значение. как я это вижу себе: - объявляю переменную типа uint, - суммирую её значение с поступающими замерами, - в конце концов делю uint на 4. грабли в том, что функция возвращает uchаr, а я её пытаюсь писать в uint, и компилятор ругается. как делать правильно?
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
||||||
| 14.01.2012, 20:46 | ||||||
|
используй явное приведение типа
http://ru.wikipedia.org/wiki/Приведение_типа#.D0.92_.D1.8F.D0.B7.D1.8 B.D0.BA.D0.B5_C
0
|
||||||
| 14.01.2012, 20:46 | |
|
Наука не отвечает на вопросы "почему". Наука отвечает на вопросы "как, сколько" Вопросы Вопросы по TP Вопросы по C++ Вопросы по Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|