|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||||||
Вопросы о С.18.07.2011, 01:49. Показов 166036. Ответов 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++ Вопросы по Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
|
Сегодня суббота, 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
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|