Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Котуинко

Сообщение Мурик »

Си не допускает исполняемый код за пределами функций, а он у вас есть.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Котуинко

Сообщение ARV »

что за манера картинки файлами прикладывать, код файлами? сделать так, чтобы сразу было видно, что к чему, хотя бы из уважения к остальным - религия не позволяет?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

А зачем NOPы ставить-то?
У Си вполне достаточно и своих средств формирования задержки.
Тем более, что протокол работы с дисплеями не ограничен по скорости/быстродействию в сторону увеличения интервалов..
:dont_know:
Вполне можно что угодно самодельного применить.
Цикл с декрементом применять нежелательно - это не ассемблер, Сишные циклы с -- требуют весьма жёсткого анализа.
Позже на компе глянул файлик поближе.
:roll:
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1331
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Котуинко

Сообщение главный колбасист »

Чтобы листинг кода занимал целую страницу? :shock:
А зачем NOPы ставить-то?
У Си вполне достаточно и своих средств формирования задержки.
Программа основная не моя,где то подцепил,не помню,скопировали в AVRstudio . Мы читаем Шпака,и вставили несколько строк
и смотрим что произойдет. :)) Если компилятор ругается,меняли свою отсебятину, и все получалось.
А тут уперся чего то....
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Ну я Си под AVRСТУДИО НЕ МУЧАЮ - балуюсь только с адуринкой - там библиотеки подключать не надо.
8)
Реклама
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1331
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Котуинко

Сообщение главный колбасист »

что за манера картинки файлами прикладывать, код файлами? сделать так, чтобы сразу было видно, что к чему, хотя бы из уважения к остальным - религия не позволяет?!
Вставлять листинг кода на целую страницу :shock:
Одуринки у нас нет. Ни одной. И вообще , уехать бы отсюда навсегда,и забыть как страшный сон.
Хотя бы в Гондурас,что ли...
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Тогда вопросы больше к "чистым Сишникам" или таки мучаем ассемблер.
Как вариант - делаем самопальную адуринку (arduino NG) или вариант с 328й мегой и СОМ-портом.
Железо там весьма простое - могу схемку скинуть...
:roll:
Насчет "уехать"...
ХОРОШО ТАМ, ГДЕ НАС НЕТУ
:wink:
Взять хотя бы моё местообитания - тут таки иногда и стреляют ... калибром под 150 и более...
Добавкой комчас и то, что Вам лишь недавно "краешком" при КОВЫДРЕ ощутить удалось - только уже седьмой год.
Да абсолютно непонятно куды гребем - официально МИНСК на деле - .....
И ничего - вполне себе живем и тикать особо... нету смысла....
8)
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1331
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Котуинко

Сообщение главный колбасист »

.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Так шо - скинуть схемку для самопальной адуринки?
:wink:
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1331
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Котуинко

Сообщение главный колбасист »

Да пожалуйста. поглядим.
А что такое самопальная ардуинка?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Это платка на основе АВРки с некоторой начально заданной минимальной конфигурацией (как схемотехнической, так и софтовой).
После изготовления и прошивки может использоваться как одна из базовых платформ ардуино или как простое устройство на АВР МК.
Вот тут, к примеру, описание для mini core
https://github.com/MCUdude/MiniCore#boa ... stallation
в принципе кратко, но без СОМ-портового адаптера. А полная версия включает в себя еще и СОМ-ТТЛ (USB-TTL) преобразователь.
Отличия от NG там более в варианте бутлоадера и некоторых дополнениях в настройках компилятора.
Кстати.. адуринья имеет весьма неплохой симулятор для начальной стадии изучения без железа.
Причем в том симуляторе и внешняя обвязка предусмотрена (минимальный набор внешних усторйств "по умолчанию").
Для имющего комп с виндовс 7-8-10ками от майкрософта там на сегодня никаких проблем ни по установке ни по применению.
Симулятор
https://www.sites.google.com/site/unoardusim/ (последний вариант 2.8.1)
и сама IDE
https://www.arduino.cc/en/Main/Software (версия 1.8.13)
Под ХР ограничения по версии - не выше 1.8.9 и запрет автообновления для менеджера платформ.
Там у меня аварийный архив и некоторые "шаманизмы" при установке имеются, ежли кому интересно будет...
8)
Кстати... Одна из ошибок в подходе начинающего к Си (да и к любому копилятору)...
На начальном этапе нельзя путать проекты от разных компиляторов.
Особо в Си, где изначально используется многофайловая структура проекта.
При работе с проектом, использующим библиотечные функции надо в заголовочнике подключать ту библиотеку, функции из которой используются в main. Однако... В самой библиотеке могут использоваться и другие библиотеки (указаны в ее заголовочнике)...
А они для разных компиляторов имеют обычно отличия.
Посему для начала стараемся те "чужие" библиотеки не подключать, ограничиваясь "стандартным набором" из средств используемого компилятора "по умолчанию".
В ардуиноIDE тот "стандартный минимум" прописывается автоматически (скрыто от пользователя), а в типовых компиляторах (работа под "чистым Си") - извольте все библиотеки "стандартного минимума" хоть бегло но изучить и соответственно уметь их подключать.
Это не говоря уже о make файлах и "тонких настройках" опций при профессиональной работе.
Так что предложить - то можно, но выбор инструментов и целей - ессно за конкретным пользователем.
:beer:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3877702#p3877702"]Особо в Си, где изначально используется многофайловая структура проекта.[/uquote]
читаем создателей языка:
Программа может размещаться в одном или
нескольких исходных файлах любым удобным образом; исходные
файлы могут компилироваться отдельно и загружаться вместе
наряду со скомпилированными ранее функциями из библиотек.
http://lib.ru/CTOTOR/kernigan.txt
смотреть пункт 4. Функции и структура программ
т.е. программа на Си может состоять из одного единственного Си файла, как и ассемблерная
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Само собой МОЖЕТ.
Однако наш главный колбасист использует в своих текстах ссылки на библиотеки... да еще и в разных компиляторах изготовленные.
Соответственно и матюки.
Помимо прочего даже если и один единственный файл - обойтись без "стандартных" библиотек компилятора можно разве что в абсолютно учебной программе.
Ведь все равно или библиотека ввода/вывода или математика будут использоваться (особо в случае с МК).
Та же
#include <avr/io.h> //библиотека ввода/вывода
к примеру...
8)
Да и относительно ассемблера также не верно - ибо ВСЕГДА присутствует (скрыто или явно - зависит от компилятора) файл описания ресурсов по умолчанию.
Просто мы его не всегда в явном виде указываем.
:wink:

Кстати... о "переходах" между разными компиляторами для МК можно тут глянуть:
https://sunduk.radiokot.ru/view/?id=1315557050
:roll:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3877733#p3877733"]Помимо прочего даже если и один единственный файл - обойтись без "стандартных" библиотек компилятора можно разве что в абсолютно учебной программе.[/uquote]
можно и не в абсолютно учебной - например произвести расчеты и вывести результат без использования стандартных библиотек. Простейший хэлловорд например, без:

Код: Выделить всё

#define return puts("Hello World"); return
int main ()
{
  return 0;
}
а из файла ресурсов можно скопипастить только нужное для проекта в свой Си или Асм файлик и будет только один файл, это к утверждению:
Особо в Си, где изначально используется многофайловая структура проекта.
просто за Си обидно стало - это ж почти ассемблер (имхо) :))
з.ы. у меня полно проектиков на Си, где один Си файл и один заголовочный файл - многофайловым проектом это рука не поднимается назвать
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Произвести расчеты - уже математика, а оная требует библиотеку.
А насчет стянуть из какого-либо файла только необходимый кусочек - то уже таки не для начинающего.
(Ибо надо найти где стянуть и что стянуть).
8)
Ну и в самом ассемблере без файлика описания ресурсов не обойтись.
Единственно оный часто "интегрирован по умолчанию" (например в некоторых компиляторах для mcs51).
:roll:
И .... ОЙ... return - зарезервированное слово - компилятор не матюкнется на переопределение?
:dont_know:
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

насильно не требует, Си складывает вычитает умножает делит сдвигает и логические операции без библиотек, синусы корни и пр. можно и библиотеку, но можно вспомнить школьный учебник - по тригонометрии и математике, а корень извлечь можно по таблице и т.д.
return варнинг есть, но компилит и работает:
Изображение
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Все же лучше переопределения ключевых слов не задавать...
:roll:
Ассемблер за такое "далеко пошлет"...
8)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

в Си препроцессор обеспечивает только подстановку текста, не учитывая синтаксис и семантику языка
т.е. компилятору даст наверное такое:

Код: Выделить всё

int main ()
{
   puts("Hello World"); return 0;
}
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15561
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Можно лишь предположить - как там на самом деле знает только разработчик компилятора.
:dont_know:
Мы можем только рекомендовать не использовать переопределение ключевых слов на этапе начального изучения языка...
Да чтоб потом "не заблудится" в ранее написанных программах.
Особо актуально для любителя при относительно редких проектах, когда надо вспоминать "тонкости работы" после месяца/полутора перерыва.
8)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Котуинко

Сообщение oleg110592 »

скорее знает разработчик препроцессора - им мог быть Керниган или Ритчи или например какой ни будь студент
Препроцессор С/С++ (англ. pre processor, предобработчик) — программа, подготавливающая код программы на языке C/C++ к компиляции.
«Си» позволяет очень просто выстрелить себе в ногу
http://lurkmore.to/%D0%92%D1%8B%D1%81%D ... 0%B3%D1%83
Ответить

Вернуться в «Разные вопросы по МК»