Настройка регистра ADMUX или внутренний ИОН в Flowcode-5

AVR версия программы

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение bond (bond) » 13 июн 2013, 18:51

1. С какого будуна в компоненте появились новые макросы, тебе не стало интересно? А что говорит Хелп?
2. Ты полазил в исходниках макроса ReadAsByte, что тебе показалось знакомым? Как бы ты охарактеризовал назначение подпрограмм внутри этого макроса.
3. После этих двух вопросов в какой из новых макрос тебе захотелось заглянуть?
4. Я где-то выкладывал как упростить Макросы компонента АЦП, найти где это, там есть интересные картинки.

1.Ты хочешь сказать что добавил новый макрос? Дак все те-же что в моем случае.Нету отличий компонентов и их макросов твоего и моего примера . Хелп так и говорит,-если шаришь в си,то редактируй макросы компонента под себя.
2.Полазил во всех макросах,и ReadAsByte,сравнил, настройки проги то-же-ну все одинаково!А у тебя как надо...)
3.Не нашел новых,только те что изначально в компоненте.
4.А где,в старом или новом форуме?Что- то я не нашел...
2. Ты уж постарайся, оправдай. Я вчера весь вечер на тебя потратил, чтобы красивые картинки нарисовать... Ты должен сделать все, чтобы их увидели все...

Ну,похоже не оправдал.. ;)А за потраченое время на меня спасибо) Но ты же все равно нам покажешь свои картинки..?
Ник: bond
Имя: bond
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение mim (mim) » 13 июн 2013, 18:54

Я совсем не пойму о чем ты? Мой пример не имеет ни какого изменения... Переосмысли мои вопросы. Ты что слепой что ли? Ты что не видишь что в Пятой версии новые макросы появились? Или ты не понимаешь отличия Компонента и Макросов? В Хелпе описано назначение новых Макросов. Не надо сравнивать мой пример со своим. Ты сослался на 4 версию, вот и сравнивай с 4. Сравни содержание Макросов 4 и 5. Сравни содержание Макросов 5 версии между собой. Не знаешь Си? Ну и ничего не будешь знать... Сиди и ковыряйся ....
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение bond (bond) » 14 июн 2013, 18:09

До меня только дошло, что компилировал ты свой проект своей программой,с настроенными макросами.А у меня то они такие какие есть.Сравнил,в 5 еще шесть новых макросов..Ты хочешь сказать что эти шесть удалить,а из четвертой исходники макросов перенести в 5 и отредактировать их?
Не знаешь Си? Ну и ничего не будешь знать... Сиди и ковыряйся ....
Правдивые,и обидные слова :cry: Для начинающих с нуля,где можно поучиться не подскажешь?
Ник: bond
Имя: bond
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение mim (mim) » 14 июн 2013, 18:35

bond писал(а):1. До меня только дошло
2. в 5 еще шесть новых макросов.
3. Ты хочешь сказать что эти шесть удалить.........
4. обидные слова... где можно поучиться не подскажешь?

1. Ничего до тебя не дошло...
2. Наконец-то....
3. :stop: :evil:
4. На обиженных .... Поучится можно везде. Я же написал - смотри исходники, все что непонятно - в Гугл. Гугл по нынешним временам это сильно...
Вернемся к нашим Баранам... Для меня не менее обидна твоя тупость, а может это специальная упертость??? Ведь проще дождаться шары... Шары не будет я с эти завязал.
Начнем сначала.
1. В компоненте появились новые макросы, тебе не стало интересно? А что говорит Хелп? Я хочу узнать что говорит Хелп!!!
2. Ты полазил в исходниках макроса ReadAsByte (5 версии и 4 версии), что общего и что разное, что тебе показалось знакомым? Как бы ты охарактеризовал назначение подпрограмм внутри этого макроса.
3. После этих двух вопросов в какой из новых макрос тебе захотелось заглянуть?
4. Я где-то выкладывал как упростить Макросы компонента АЦП, найти где это, там есть интересные картинки.
И не нужно сопли распускать про обидные слова. Они справедливые эти слова. Только совсем не одаренный прочтет мои вопросы по второму разу и еще два дня будет петь свои песни. По ответам видно - вспомнил вечером, ответил что попало, типа справился...
В вопросах все ответы. В вопросах методика поиска решения. Ты же хочешь учится? Каждому пишу - не нужно отсебятины -, я спросил - ты ответил!!! На каждую букву - ответ!!!

ЗЫ как еще сильнее и эмоциональнее написать, что бы до всех дошло - приложите усилия. Когда я увижу эти усилия - я помогу... Сходи ,например, на Казус, - попроси чтобы написали нашару.... расскажешь потом чего наслушался...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение bond (bond) » 15 июн 2013, 20:38

1. В компоненте появились новые макросы, тебе не стало интересно? А что говорит Хелп? Я хочу узнать что говорит Хелп!!!
2. Ты полазил в исходниках макроса ReadAsByte (5 версии и 4 версии), что общего и что разное, что тебе показалось знакомым? Как бы ты охарактеризовал назначение подпрограмм внутри этого макроса.
3. После этих двух вопросов в какой из новых макрос тебе захотелось заглянуть?
4. Я где-то выкладывал как упростить Макросы компонента АЦП, найти где это, там есть интересные картинки.


1.По новым макросом в справке нет инфы. Переводчики в сети переводят криво, но вот что мне удалось уловить из справки: Макросы
в 5 версии можно редактировать из под программы.Это придает гибкости по их
заявлению программе,так как можно макросы настраивать и создавать, под свои
нужды.Но они не будут моделироваться.Говорится о том что макросы могут быть
скрытыми,но не понятно как их открыть.Можно обьединять макросы-например
один вызова,другой вызываемый.Компонент имеет несколько типов
кода,дополнительных-основных функций,размещенного определенным образом в
файле Flowcode C.Подставляются фактические данные с помошью символа-%
.Список замен для каждого компонента можно найти в верхней части каждого
макроса компонента вместе с кратким описанием того, что делают замены.

2.Сравнил ReadAsByte 4 и 5 версий. В 4 пара строк кода,в 5 несколько строк.Думаю ReadAsByte в 4 версии ссылается на макрос SampleADC. В 5 скорее всего тоже имеется ссылка куда-то,возможно не одна.Плюс % данные откуда-то втекают.Подозреваю что ReadAsByte в 5 имеет связь с макросами ADC_RAW_Sample_Channel_Byte ,ADC_RAW_Average_Channel_Byte..Но пока как- то не понятна связь одного с другим..В тексте макросов 5 версии даже нет упоминания регистра ADMUX,в отличии от 4. А ведь надо то 6 и7 бит в =1 установить.Возможно имеется скрытая область кода,которая недоступна..Хотя с моими знаниями и доступный код.. :headbang:
Ник: bond
Имя: bond
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение mim (mim) » 16 июн 2013, 05:31

bond писал(а):1.По новым макросом в справке нет инфы.
2. Думаю ReadAsByte в 4 версии ссылается на макрос SampleADC.
3. В 5 скорее всего тоже имеется ссылка куда-то, возможно не одна.
4. Плюс % данные откуда-то втекают.

1. Зачем врать-то??? Каждый раз пишу, Я НЕ СПРАШИВАЮ ТО, ЧЕГО НЕТ В ФК!
Help_adc.jpg

2. Ого!!! Вот это мысль! И как ты это смог придумать? Ведь там так прямо и написано...
Sample_adc.jpg

3. Хотелось бы картинку, по аналогии с пунктом 2. Когда нужно думать, то он не думает... Там тоже все написано, эти слова дети в детском садике уже учат (у тебя есть дети? спроси)... Например, что значит "Sample"?
4. Вот это правильная мысль, мы к ней еще вернемся...

Ты не на все ответил... Вопроса было 4, ответа 2. Совсем не трудно делать анализ задачи - по принципу "Я как казахский акын — что вижу, о том и пою, — сказал певец." Для начала это вполне прилично...

Зы Вперед - последнее усилие и награда твоя.
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение bond (bond) » 16 июн 2013, 16:21

1. Зачем врать-то??? Каждый раз пишу, Я НЕ СПРАШИВАЮ ТО, ЧЕГО НЕТ В ФК!
Тут да,приврал :o
2. Ого!!! Вот это мысль! И как ты это смог придумать? Ведь там так прямо и написано...
Да не,просто неудачно выразился.Из справки зацитировано же было.
3. Хотелось бы картинку, по аналогии с пунктом 2. Когда нужно думать, то он не думает... Там тоже все написано, эти слова дети в детском садике уже учат (у тебя есть дети? спроси)... Например, что значит "Sample"?
2013-06-16_165608.jpg
выделенная строчка отсылает на Sample_ADC и вроде возвращает значение переменной retVal.А макрос SampleADC пустой-наверное нужно туда какие то данные вбить,чтобы они дальше пошли обрабатываться,и переменная retVal где потом вращается...Бред конечно наверное пишу... Sample-Образец,заготовка.
Доотвечаю:
3. После этих двух вопросов в какой из новых макрос тебе захотелось заглянуть?
4. Я где-то выкладывал как упростить Макросы компонента АЦП, найти где это, там есть интересные картинки.

3.Думается мне что нужно в SampleADC заглянуть,и внести некий код..
4.По запросу *макросы ADC * смотрел темы.Да,есть твои картинки,но как мне показалось не относящиеся к этой проблеме.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: bond
Имя: bond
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение mim (mim) » 16 июн 2013, 16:36

bond писал(а):1.Тут да,приврал :o
2. Sample-Образец,заготовка.


1. А зачем?
2. Странно... А вот у меня переводит как "выборка", "замер". Странно то, что куда бы я тебя не направил, ты всегда находишь самое бессмысленно объяснение.
Все остальное чушь... Вот взять например утверждение "но как мне показалось не относящиеся к этой проблеме", как тебе такое в голову пришло? Перекрестился бы что-ли... Фактически ты утверждаешь что я написал чушь... Там рассмотрена вся структура макроса, что и для чего. Ты еще раньше это должен был выучить...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение bond (bond) » 16 июн 2013, 16:58

1. А зачем?
2. Странно... А вот у меня переводит как "выборка", "замер". Странно то, что куда бы я тебя не направил, ты всегда находишь самое бессмысленно объяснение.
Все остальное чушь... Вот взять например утверждение "но как мне показалось не относящиеся к этой проблеме", как тебе такое в голову пришло? Перекрестился бы что-ли... Фактически ты утверждаешь что я написал чушь... Там рассмотрена вся структура макроса, что и для чего. Ты еще раньше это должен был выучить...

1.Да не увидел в справке на тот момент,даже удивился потом когда понял что оно есть..
2.mim,можешь мне в глаз дать . Последне время меня преследуют неудачные высказывания,и не только здесь.
Смысл некоторых вещей мне стал понятен,но по коду вашпе беда-что к чему и как...
Ник: bond
Имя: bond
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Настройка регистра ADMUX или внутренний ИОН в Flowcode

Сообщение mim (mim) » 16 июн 2013, 18:29

bond писал(а):mim,можешь мне в глаз дать .

По жизни ты бы пожалел о таком желании. Вес под 90, рост за 180 и не один бой на ринге, не говоря про улицу...

Ну что же, не мытьем так катаньем...

Рассмотрим чем макросы Компонента АЦП Пятой версии отличаются от Четвертой.

Четвертая версия

Для чтения АЦП в формате Байта используется Макрос ReadAsByte, этот макрос вызывает Макрос SampleADC();. После того как отработал SampleADC из регистра ADCH можно забирать результат преобразования. На рисунке структура макроса (неоднократно рассмотренная на форуме).
FC4_ADC_1.jpg


Пятая версия

Для чтения АЦП в формате Байта используется Макрос ReadAsByte, но этот макрос вызывает три макроса - FC_CAL_Enable_ADC, FC_CAL_Sample_ADC, FC_CAL_Disable_ADC. Имена этих макросов говорят сами за себя - Enable_ADC – Включить АЦП, Sample_ADC – Замерять АЦП, Disable_ADC – Запретить (Выключить) АЦП.
Приставка CAL – так называемая CAL Schema (принятая матриксами для реализации кроссплатформы), расшифровка аббревиатуры и дословный перевод Code Abstraction Layer- код уровня абстракции.
FC5_ADC_3.jpg

Эти отличия отображены на рисунках.

CAL функции (Макросы) FC_CAL_Enable_ADC, FC_CAL_Sample_ADC, FC_CAL_Disable_ADC находятся в файле AVR_CAL_ADC.c в папке CAL.
Схема CAL сама по себе хороша, но когда код Макросов закрыт – это вызывает определенные трудности в модернизации исходного кода.
Чем больше Вы будете лазить в файлах самого ФК, тем больше вы будете понимать суть происходящего.
Например, как же найти где в файле AVR_CAL_ADC.c нужно произвести изменения.
Для определенной группы МК определены различные макросы Включения, Замера и Выключения, таких определений в файле AVR_CAL_ADC.c тринадцать типов– это связано с различием в именах регистров и т.д. Откройте соответствующий файл с расширением FCD и посмотрите, как определен АЦП. Все определения находятся в секции [Defines], ищем все, что имеет буквы ADC – находим Define3=#define MX_ADC_TYPE_2. После этого в файле AVR_CAL_ADC.c ищем строку #ifdef MX_ADC_TYPE_2, начиная с этого места и до строки #endif – это и есть код, который относится к нашему контроллеру.
Все CAL файлы построены по подобному принципу…
FC5_ADC_4.jpg

После изучения соответствующего кода можно сделать вывод – где и что менять.
Но! Менять пока рано.
Обратите внимание на то, что в Компоненте появились новые Макросы.
Рассмотрим некоторые - ADC_RAW_Configure_Channel – содержим Enable_ADC – Включить АЦП, включает соответствующий канал АЦП, но при этом вынесен отдельно, при использовании одного канала АЦП можно до цикла опроса АЦП один раз включить канал, а затем применять только макрос ADC_RAW_Sample_Channel_Byte - Sample_ADC – Замерять АЦП. Это повышает скорость опроса АЦП. Я описывал, как это можно сделать в Четвертой версии. В пятой версии Матриксы уже задумались над этим. В пятой версии Матриксы даже предлагают некую статистическую обработку – Макрос ADC_RAW_Average_Channel_Byte – подсчитывает среднее по заданному NumSamples количеству чтений АЦП. Остальные Макросы понятны без объяснения – читайте Хелп.

Вот теперь начнем вносить изменения.
Цель – не изменять файл AVR_CAL_ADC.c, а вносить изменения только в макросы ФК – так удобней.
Начнем с того, что напрашивается в первую очередь – сделать по аналогии с Четвертой версией, то есть, как было сказано – вставить строку
Код: выделить все
ADMUX =ADMUX |(1 << REFS1)|(1 << REFS0);
(читайте Даташит). Внесем некоторое упрощение в эту запись. По умолчанию в регистр ADMUX будет записана единица в бит REFS0 (так генерируются настройки АЦП в ФК), поэтому достаточно написать
Код: выделить все
ADMUX |=(1 << REFS1);

Думаю, что всем понятно - Макроса SampleADC в Пятой версии нет (смотри рисунки), значит все изменения нужно делать в Макросе ReadAsByte. Поскольку вся настройка канала АЦП делается в Макросе FC_CAL_Enable_ADC, то и вставлять строку
Код: выделить все
ADMUX |=(1 << REFS1);
нужно сразу после этого Макроса (в сам Макрос мы не влезем). Мы руководствуемся тем, что после отработки FC_CAL_Enable_ADC все регистры настроены и нам достаточно внести изменения которых не достает.
Однако не торопитесь. Не все так просто. После такой модернизации АЦП будет работать не правильно (внутренний ИОН не подключится). Для правильного включения или изменения параметров АЦП (смотри ДАТУ) нужно выдержать паузу и разово запустить преобразование. В Четвертой версии строку
Код: выделить все
ADMUX =ADMUX |(1 << REFS1)|(1 << REFS0);
можно было поставить до этой процедуры. Поэтому дополнительно нужно повторить такие команды (аналогию смотрите в исходном коде в файле CAL).
Код: выделить все
delay_us(%a_MX_ADC_ACTIME); 
ADCSRA |=(1<<ADSC);

Prim1.rar

Таким образом мы сделали двойную работу и два раза выполнили паузу…. Это не всегда хорошо.

Теперь вернемся к новым макросам.
Я думаю, что уже можно догадаться, как все будет с этими макросами. Поэтому вместо описания сразу пример.
Prim2.rar


Самый изощренный (и самый смешной) способ оставлю на потом….
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей