|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||||||
Вопросы о С.18.07.2011, 01:49. Показов 165781. Ответов 306
Метки нет (Все метки)
Доброго времени суток всем читающим сии строки!
В который раз сажусь писать прогу на Си, и вспоминаю про АССЕМБЛЕР... Есть некий код...
Внимание Вопрос. Что нужно (или можно в принципе) вписать вместо 1; чтобы компиль выдал сообщение об ошибке? Или поставте меня на правильные рельсы. Как его можно переписать? Да так, чтобы хоть ругался когда это нужно и как мне это нужно. А то что-то я не могу понять, как это ...
0
|
||||||
| 18.07.2011, 01:49 | |
|
Ответы с готовыми решениями:
306
БД: Контрольные вопросы по дисциплинам, темам и разделам: дисциплина; преподаватели; набор билетов; билет; вопросы к билетам; вопросы; темы вопросов Когда вопросы кончаются, сделать кнопку неактивной и вывести сообщение о том, что вопросы кончились вопросы про вопросы |
|
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
|
|
| 05.09.2012, 01:49 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
|
||||||
| 05.09.2012, 02:21 | ||||||
|
Хорошо, а где и как ее нужно определить? Kiteket выкладывал проект вместе с прошивкой, видимо что-то не приаттачил?
И по этому куску вопросы:
2.Почему #ymstude <avr/interrupt.h> встречается 2 раза?
0
|
||||||
|
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
|
|
| 05.09.2012, 02:36 | |
|
Честно говоря, очень редко я использую отдельно makefile. Для этого надо хорошо в том разбираться, поэтому всегда оставляю его делать автоматически.
А в Студии вообще - только кнопка Build или Build Ott - и все. И нету у меня в проекте такой переменной или макроса. Наверняка как раз в твоем мэйкфайле она присутствует. P.S. sompat/deprecated - это заговочный файл функций, которые сейчас уже устарели, и оставлены для совместимости. Я пользуюсь функциями sbi/cbi для установки битов вместо новомодных _BV. P.P.S. #ymstude <avr.interrupts.h> два раза - по ошибке. P.P.P.S. ftoot.h - вообще надо выбросить.
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
|
|||||||
| 05.09.2012, 02:49 | |||||||
0
|
|||||||
|
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
|
|
| 05.09.2012, 02:58 | |
|
Да, вкралась ошибка, наверное...
Это старый файл, я его уже давно переделал. Попробуй вот этот. Только его нужно переименовать - убрать "-2". P.S. Только вот соответствует рабочая прошивка этому файлу - не помню, чесслово... [12.42 Кб]
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
|
|
| 05.09.2012, 03:19 | |
|
Ок, спасибо. Мне просто попробовать разобраться.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||||||
| 27.09.2012, 12:43 | ||||||
|
а вот такой вопрос:
в некоем примере наткнулся на такой финт, написанный под Keil
или подразумевается, что раз проц 8-битный, то и дефолтный тип тоже 8 бит?
0
|
||||||
|
omx
|
||
| 27.09.2012, 12:47 | ||
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 27.09.2012, 12:58 | |
|
а, да, switch выкусил случайно.
ну мне-то был интересен не свитч, а именно муть с объявлением перечисления.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||||||
| 27.09.2012, 15:12 | ||||||
|
сижу туплю:
0
|
||||||
|
1 / 1 / 0
Регистрация: 25.01.2012
Сообщений: 492
|
||
| 27.09.2012, 15:29 | ||
Второе - значение по следующему адресу.
0
|
||
|
omx
|
||
| 27.09.2012, 16:00 | ||
Второе - значение по следующему адресу. Единственное дополнение, в общем следующий адрес - это не адрес больший на единицу, а больший на размер элемента. *(p_value) и *(p_value+1) можно записать как p_value[0] и p_value[1] соответственно. |
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 27.09.2012, 16:36 | |
|
а кстати, по предыдущему вопросу с enum {TEMP,HUMI}
дефолтный размер понятен. но неужели существует ещё и дефолтный ряд значений?
0
|
|
|
omx
|
||
| 27.09.2012, 17:25 | ||
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||||||
| 24.10.2012, 17:07 | ||||||
|
вы не поверите, снова выдалось некоторое время на Си. курю всё тот же небольшой кусок кода и всё-таки не вдупляю..
PS код выдернут из стандартного примера работы с SHT10 с их сайта
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
||
| 24.10.2012, 17:26 | ||
PS. В комментариях непонятный порядок байт, АВР вроде little-endian
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 25.10.2012, 09:18 | |
|
и последний вопрос: в Си такой подход это норма? я имею в виду, один раз объявить одну переменную двухбайтной, потом кучу раз обращаться к её байтам по отдельности -- и всё для того, чтобы единожды в самом конце взять весь инт целиком. и это ещё в аппноте.
не проще было завести просто две однобайтных переменных - и код стал бы понятнее в разы?..
0
|
|
|
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 300
|
||
| 25.10.2012, 10:16 | ||
Сдвиги, маски и прочее занимают 1-2 команды процессора. Память не расходуется зря и скорость выполнения не страдает. А вот побайтовое обращение обычно медленнее на многих архитектурах, чем работа с int или long (16, 32, 64bit). Именно поэтому С и называют "высокоуровневым ассемблером".
0
|
||
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|||||||||||
| 25.10.2012, 12:18 | |||||||||||
|
По размеру кода оно практически одинаково. Недостаток указателей - занята регистровая пара указателей и можно ошибиться с порядком байт.
Я бы использовал такую конструкцию:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||
| 25.10.2012, 13:02 | ||
ага, и вызов функции идёт дважды, получится один байт из одного замера, второй - из другого
0
|
||
| 25.10.2012, 13:02 | |
|
Наука не отвечает на вопросы "почему". Наука отвечает на вопросы "как, сколько" Вопросы Вопросы по TP Вопросы по C++ Вопросы по Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|