Перейти к содержанию
    

Проект прикладываю.

 

Там у вас структура используется - можно о них подробней рассказать или в исходнике как расширеный комментарий дать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там у вас структура используется - можно о них подробней рассказать или в исходнике как расширеный комментарий дать ?

 

Структур там нет. Наоборот я попытался всё упростить. По нормальному так не пишут.

Но ничего страшного. Сам бывает чего-то не понимаю. Вам надо понять не конкретные операторы а глобально что я делаю.

Поясняю Ekr[2][NUMBRZR] - это двухмерный массив "экран" (я обозвал). В нём хранятся отображаемые цифры поразрядно.

Где первая переменная 0-1 экран для индикатора 0 и экран для индикатора 1.

вторая переменная NUMBRZR это номер разряда нужного (см. выше) индикатора 0-NUMBRZR-1 (7).

 

Процедура show преобразует 32-битное двоичное число в поразрядный массив описанный выше. Например число 0xE23589 будет преобразовано в 14824841. Где старший разряд - старший номер массива. Существует много способов преобразования двоичного числа в двоично-десятичное. Я использовал самый примитивный чтобы наглядней и проще было.

 

Когда разберётесь как работает попробуйте внести изменения в программу чтобы выводить в шестнадцатиричтом виде. (Их будет очень мало)

 

Будут вопросы - пишите. Когда будет LCD - попробую структуру применить, если хотите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там у вас структура используется - можно о них подробней рассказать или в исходнике как расширеный комментарий дать ?

 

Структур там нет.

 

а ЭТО что ?

 

// Т е с т С т е н д а N i x - 6

// П р о в е р к а п о р т о в .

//Д и н а м и ч е с к а я и н д и к а ц и я .

//*********************************************//

///////////////////////////////////////////////////////////////////

 

uint8_t static Ekr[2][NUMBRZR]; // Образ экрана (0/1)

struct

{

uint8_t Sek : 1; // Секунда прошла (1)

} Flag; // Флаги

 

 

struct - это не структура ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а ЭТО что ?

 

// Т е с т С т е н д а N i x - 6

// П р о в е р к а п о р т о в .

//Д и н а м и ч е с к а я и н д и к а ц и я .

//*********************************************//

///////////////////////////////////////////////////////////////////

 

uint8_t static Ekr[2][NUMBRZR]; // Образ экрана (0/1)

struct

{

uint8_t Sek : 1; // Секунда прошла (1)

} Flag; // Флаги

 

 

struct - это не структура ?

 

Аааа... запамятовал. :)

 

Ну это стандартное объявление битовых флагов. Просто в данном случае этот флаг - один. :)

Как бы нагляднее это выглядит вот в таком варианте:

 

__no_init struct

{

uint8_t RXOFF : 1, // Буфер переполнен, загрузка приостановлена

RMaster : 1, // Контроллер в режиме "Мастер"

RLoadActKom : 1, // Разрешена Загрузка команд в "активную зону"

cursiv : 1, // вывод текста курсивом

Color : 1, // цвет

MonoFont : 1, // Моноширинный фонт

Load485 : 1, // Загрузка команд идёт с RS485

EnShow : 1; // Разрешить исполнение команд

} Flag;

 

 

Здесь выделен один байт который поделён на биты. Каждый бит обозван по своему. Обращение к этому биту такое например Flag.RMaster. Ну а если рассматривать с теории, то наоборот, - несколько битовых полей с разными именами объединено в структуру. Допускается выделять не один бит а несколько например "Color : 3,". В этом случае Color будет принимать значения 0..7. Правда я так не работал. В общем то необходимо для рационального использования памяти.

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем добрый день.

Всю ветку не стал читать, поэтому вот мои вопросы и мысли :

 

*

Хотелось посмотреть на плоды трудов, но невидел тут ссылок на создаваемый ресурс, он существует, или пока макетку отлаживаем?

 

*

Возможно смогу поучаствовать, небольшими статейками с примерами по использованию некоторых ресурсов. (ASM) Нужна будет правка.

 

*

Где текущая версия плана?

 

*

Сам с АВР работаю давно, но на ASM, изучал по даташитам и апликейшен. Но вот Си пользоваться неумею. Поэтому сейчас выступаю в двух лицах, с одной стороны есть опыт, с другой стороны тот "Аллергенный" сосуд в СИ. Могу сразу проверять статьи на вшивость, с точки зрения чего не понятно, касаемо инструментария.

 

*

В свое время читал различные FAQ, созданные из конференций FIDO, там использовалась минимальная правка, и выбирались грамотные ответы на действительно встречающиеся вопросы, в том числе и часто, и нетривиальные, тоесть про нестандартные применения, например, алгоритмов. Такое построение позволяет лучше и глубже понять суть вещей.

 

*

Считаю, что ограничивать начинающего в выборе определенного инструментария, и в первую очередь языка кодирования нельзя, поэтому в конечном итоге должно быть описано применение (и настройка соответствющих оболочек) как минимум: ASM, Cи, Pascal, если есть, то бейсик. Поскольку, сразу достичь такой цели трудно, проект должен быть расширяемым.

 

*

Поскольку компиляторов Си много, наиболе актульными считаю два:

GNU - так как бесплатен, и существует под большое количество платформ.

И тот который занимает первое место в рейтинге.

Однако, если автор, пользуется другим, то его право описывать примеры именно с его использованием.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проект прикладываю.

 

Там у вас структура используется - можно о них подробней рассказать или в исходнике как расширеный комментарий дать ?

 

А не подскажите, новичку? В какой программной среде написана Nix_06test.zip. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем добрый день.

Всю ветку не стал читать, поэтому вот мои вопросы и мысли :

 

*

Хотелось посмотреть на плоды трудов, но невидел тут ссылок на создаваемый ресурс, он существует, или пока макетку отлаживаем?

http://nix-06.nm.ru

*

Возможно смогу поучаствовать, небольшими статейками с примерами по использованию некоторых ресурсов. (ASM) Нужна будет правка.

Всегда пожалуста,выкладывайте здесь или присылайте мне на мыло [email protected]

Все авторы и критики участвующие в этом проекте указаны на стартовой странице и будут добавлятся.

*

Где текущая версия плана?

Плана как такового нет ,на сайте есть трехуровневое меню по которому вы сможете определить отсутствующие темы которые нужно заполнить.Если раздела которого вы хотите нет - можно будет добавить.Считаю будет более эфективно если будут присылать кто на что гаразд и этом направлении разбирается.

*

Сам с АВР работаю давно, но на ASM, изучал по даташитам и апликейшен. Но вот Си пользоваться неумею. Поэтому сейчас выступаю в двух лицах, с одной стороны есть опыт, с другой стороны тот "Аллергенный" сосуд в СИ. Могу сразу проверять статьи на вшивость, с точки зрения чего не понятно, касаемо инструментария.

Если есть время писать свои и критиковать чужие статьи - всегда пожалуста.

*

В свое время читал различные FAQ, созданные из конференций FIDO, там использовалась минимальная правка, и выбирались грамотные ответы на действительно встречающиеся вопросы, в том числе и часто, и нетривиальные, тоесть про нестандартные применения, например, алгоритмов. Такое построение позволяет лучше и глубже понять суть вещей.

Стиль выкладки материала на ваше усмотрение.(В каких форматах присылать ,посмотрите на предыдущих страницах ветки)

*

Считаю, что ограничивать начинающего в выборе определенного инструментария, и в первую очередь языка кодирования нельзя, поэтому в конечном итоге должно быть описано применение (и настройка соответствющих оболочек) как минимум: ASM, Cи, Pascal, если есть, то бейсик. Поскольку, сразу достичь такой цели трудно, проект должен быть расширяемым.

Как уже писал есть трехуровневое меню сайта - можно добавлять и расширять.С остальным согласен,

были бы желающие описать применение и расхвалить свой любимый язык.

 

ЗЫ добавлена информация по Байт Бластеру и три способа моргнуть светодиодом на асме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не подскажите, новичку? В какой программной среде написана Nix_06test.zip. :)

 

Будьте повнимательнее к чтению постов. Там написано IAR C. Обращаю Ваше внимание - это не образец написания программы. Это просто тест портов написанный на скорую руку. Его можно просмотреть, но не стоит его брать за основу проекта. :) Да и ещё я не проверял прошивку Hex. Я её залил ч/з JTAG. Сам текст программы написан практически без "особенностей" конкретного компилятора. Для того чтобы перевести на GCC скорее всего надо изменить заголовок п/п обработки прерывания.

Выскажу сугубо своё личное мнение, но использование компилятора GCC показалось мне ещё более сложным чем IAR. Необходимость, для успешной работы, следить за обновлениями, пересобирать их, разбросаная документация и т.д. и т.п. В то же время этот компилятор имеет свои преимущества. Детальное изучение его будет иметь пользу. Некоторые авторы рекомендуют для начинающих использовать компиляторы типа CodeVision, ImageCraft и другие. Ссылаясь на обилие встроенных библиотек, более удобный интерфейс и т.п. К сожелению ничего не могу сказать по данному поводу, так как сам не пробовал. Осмелюсь высказать догадку, что с точки зрения изучения языка С, наверное это вполне допустимо. С другой стороны, если вы планируете писать много проектов, то нет смысла распылятся и изучать особенности нескольких компиляторов, а лучше остановится на каком нибудь одном. Судя по отзывам форумчан - это либо IAR C либо GCC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Хоровица и Хилла в "Искусстве схемотехники" в конце каждой главы шли примеры, где показывалось как НАДО и как НЕ НАДО делать. Было бы неплохо такое же сделать и в Getting started или faq по AVR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Хоровица и Хилла в "Искусстве схемотехники" в конце каждой главы шли примеры, где показывалось как НАДО и как НЕ НАДО делать. Было бы неплохо такое же сделать и в Getting started или faq по AVR.

Как не надо уже есть готовое-известный "краткий курс"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Хоровица и Хилла в "Искусстве схемотехники" в конце каждой главы шли примеры, где показывалось как НАДО и как НЕ НАДО делать. Было бы неплохо такое же сделать и в Getting started или faq по AVR.

Вариант "как НЕ НАДО делать" в данном случае, это уже высший пилотаж :cheers:

Не думаю что кто-то готов потратить уйму cвоего времени, чтобы еще рассматривать

варианты "как НЕ НАДО делать".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Хоровица и Хилла в "Искусстве схемотехники" в конце каждой главы шли примеры, где показывалось как НАДО и как НЕ НАДО делать. Было бы неплохо такое же сделать и в Getting started или faq по AVR.

 

как НАДО и как НЕ НАДО делать - это такой же извечный вопрос как "быть или не быть".

Такое невозможно хотя бы потому ,что этиму проекту помогают не один или два человека ,а разные люди со своими взглядами "как надо". :)

Возможно это недостаток,но с другой стороны у новичка есть возможность ознакомится с разными

"взглядами на жизнь" и выбрать какой ему взгляд по душе.

Не запрещено к примеру одну и туже тему сайта заполнить разными статьями и с разными взглядами на одни и теже вещи.

Тем более материалы хоть и присылаются регулярно,но обвальной активности не заметно,поэтому если еще ставить всех "под одну линейку" - растеряем последних самых стойких.

 

Насчет "курса" - обосрать ,много героев нашлось.Но как дело дошло сделать альтернативный сайт - на потеху раз-два-три ,расползлись как тараканы. :)

 

ЗЫ Пислали пару полезных программок ,в разделе "полезные программки"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:)

У Хоровица и Хилла в "Искусстве схемотехники" в конце каждой главы шли примеры, где показывалось как НАДО и как НЕ НАДО делать. Было бы неплохо такое же сделать и в Getting started или faq по AVR.

 

как НАДО и как НЕ НАДО делать - это такой же извечный вопрос как "быть или не быть".

Такое невозможно хотя бы потому ,что этиму проекту помогают не один или два человека ,а разные люди со своими взглядами "как надо". :)

Возможно это недостаток,но с другой стороны у новичка есть возможность ознакомится с разными

"взглядами на жизнь" и выбрать какой ему взгляд по душе.

Ну, да, у ХХ там все конечно более одназначно чем при обсуждении вопросов

програмной реализации, однако ИМХО всегда есть "правильные" и сомнительные

варианты решения задачи.

P.S "правильные" специально поставил в кавычки :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тем более материалы хоть и присылаются регулярно,но обвальной активности не заметно,поэтому если еще ставить всех "под одну линейку" - растеряем последних самых стойких.

 

Насчет "курса" - обосрать ,много героев нашлось.Но как дело дошло сделать альтернативный сайт - на потеху раз-два-три ,расползлись как тараканы. :)

 

ЗЫ Пислали пару полезных программок ,в разделе "полезные программки"

bodja74

ИМХО вопрос с публикацией это, таки Ваш вопрос, хотите наполнить Ваш сайт,

активнее общайтесь с авторами топиков и людьми которые предлагают решения

поставленных проблемм, ИМХО 90% согласятся опубликовать это на сайте.

Либо уже договоритесь наконец с владельцами/администраторами

electronix.ru чтобы это можно было делать централизованно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...