Автор Тема: Опорник от Владимир_К  (Прочитано 38092 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #315 : Май 18, 2021, 08:57:59 am »
Вот тут, как понимаю, можно задавать состояния регистров?  123123

Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1102
Re: Опорник от Владимир_К
« Ответ #316 : Май 18, 2021, 10:44:15 am »
 
можно задавать состояния регистров?
Да. Только делать это надо открыв проект. Запустите AVR Studio 4.19. В меню нажмите Progekt - Open Progekt. Укажите путь к папке. Жмите на файл с расширением .aps. Он со значком божьей коровки lol22. Откроется проект. Слева в окошке увидите перечень файлов проекта - Source Files, Header Files и пр. Нажмите на крестик, откроются файлы соответствующие. Нажмите на имя файла, он откроется в главном окне.
После внесения изменений надо проект компилировать. В меню Build - Clean - Rebuild All. После компилирования внизу появится сообщение, если с красной точкой Error, значит что-то сделали не так. Также могут появиться предупреждения, это не ошибка, но желательно без них.
После компилирования в папке проекта Default найдете обновленный НЕХ-файл. Главный файл проекта main.c. В нем находится главная функция int main (void).
Таблица, которую Вы показали, содержит содержание регистров. При работе программы в регистры выводится строка соответствующая диапазону (во, пока писал, нашел ошибку) в таблице. Попробуйте сами ее увидеть lol22. Подскажу немного. Внизу, последние 4 строчки - там кроме включения соответствующего ДПФ, также включаются ГУНы. А в предыдущих строчках их нет. Цифра, стоящая справа (то есть младший бит байта) идет первой, то есть она загоняется в конец регистра.
После компиляции нажмите Save Progect. При запуске Studio в следующий раз проект откроется. Но для этого надо зайти в настройки и указать там, чтобы при запуске студии открывался последний проект. В общем, думаю, разберетесь.
« Последнее редактирование: Май 18, 2021, 11:21:55 am от Владимир_К »

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #317 : Май 18, 2021, 10:54:21 am »
Спасибо за раскрытый до мелочей ответ.  1999 123123 id99


Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1102
Re: Опорник от Владимир_К
« Ответ #318 : Май 18, 2021, 10:58:55 am »
 
раскрытый до мелочей
Это можно подробно тут прочитать: http://easyelectronics.ru/avr-uchebnyj-kurs-programmirovanie-na-si-chast-1.html
Судя по картинке, что Вы выложили (подсвеченный шрифт) Вы проект уже и сами открыли и мои пространные опусы, лишние 123123.
« Последнее редактирование: Май 18, 2021, 11:01:28 am от Владимир_К »

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #319 : Май 18, 2021, 11:00:13 am »
Судя по картинке, что Вы выложили (подсвеченный шрифт) Вы проект уже и сами открыли.

Да, это через редактор. Попробовал скомпилировать, всё получилось.

Ещё такой вопрос, если у меня будет задача уменьшать кол-во диапазонов, то что редактировать? Я как понимаю там удаление лишних столбцов в начале, где прописываются границы и стартовые частоты и удаление строг регистров не обойтись.

Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1102
Re: Опорник от Владимир_К
« Ответ #320 : Май 18, 2021, 11:19:55 am »
/************  Частотный план трансивера  *******************/

unsigned long    freq_max[13]={2000000, 3800000, 7200000, 10150000, 14350000, 18168000, 21450000, 24990000, 30000000, 30000000, 30000000, 30000000};
unsigned long    freq_min[13]={1810000, 3500000, 7000000, 10100000, 14000000, 18068000, 21000000, 24890000, 26000000, 26000000, 26000000, 26000000};
unsigned long frequency_1[13]={1810000, 3500000, 7000000, 10100000, 14000000, 18068000, 21000000, 24890000, 26000000, 26000000, 26000000, 26000000};

Найдите эту таблицу. Вот я подсветил числа, относящиеся в диапазону 0. Удалив эти цифры, Вы исключите этот диапазон. Но, теперь нулевой диапазон уже будет не 160 метров, а 80 метров.
 Число в квадратных скобках должно быть на 1 больше, чем диапазонов в таблице.
 В программе надо найти еще места, где надо внести изменения. Во-первых убрать строки из таблицы, которую Вы выложили.
Во-вторых, вот здесь:
   if (l==7)
   {
      _band=_band+1;
      if  (_band>11)   
         _band=0;
   }
 
   if (l==6)
   {
      _band=_band-1;
      if  (_band==0xFFFF)   
         _band=11;
При каждом нажатии кнопки переключения диапазона, номер диапазона увеличивается на 1. Тут есть условие if (_band>11) _band=0. То есть, при достижении максимального номера, идет перескок в начало.
А ниже строки, если достигли нулевого диапазона, переходим на последний.
Дальше, вот тут:
//if (_band<4) y_1=y_1+pch;
 // else y_1 = y_1-pch;
 y_1 = y_1+pch;
В зависимости от номера диапазона, ПЧ прибавляется или наоборот вычитается. Здесь условие закомментировано двумя //, то есть эти строки компилятор игнорирует (чаще делайте так, не убирайте строку, а просто закомментируйте ее, потом легче вернуть), и здесь ПЧ всегда прибавляется (последняя строка).
Обращайте внимание на всякие скобки, запятые и пр. Тут их никак нельзя игнорировать. Каждая запятая или скобка несет определенный смысл.

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #321 : Май 18, 2021, 11:24:12 am »
Ок. Понял. Буду вникать.

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #322 : Май 18, 2021, 09:24:04 pm »
Подцепил макет синтеза с прошивкой от Владимир_К адаптированную под AD9850 к приемнику.
https://youtu.be/3Yz4_tmKHJA
« Последнее редактирование: Май 18, 2021, 09:34:25 pm от Core »

Оффлайн Игорь 2

  • Administrator
  • *****
  • Сообщений: 19742
Re: Опорник от Владимир_К
« Ответ #323 : Май 18, 2021, 09:37:07 pm »
Чистый эфир... cr123
Ничего невозможного нет

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Re: Опорник от Владимир_К
« Ответ #324 : Май 18, 2021, 11:08:41 pm »
Прикольно. А без антенны как? Свистулек много ?
Да да, я знаю, у меня ничего не получится )))

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #325 : Май 19, 2021, 07:36:06 am »
Свистулек много да.

Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1102
Re: Опорник от Владимир_К
« Ответ #326 : Май 19, 2021, 10:51:43 am »
Свистулек много
Собирайте ГУНы. Программу доработаю. Также в планах под индикатор на МАХ7221. И варианты на AD9850 и Si5351A.

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #327 : Май 19, 2021, 10:52:52 am »
Комплектующие едут  123123

Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1102
Re: Опорник от Владимир_К
« Ответ #328 : Май 19, 2021, 12:41:39 pm »
На диапазонах, где частота меньше 10 мгц, слева нуль незначащий. Его можно убрать.
В программе найдите строки:
send_l(led);
led=(Numbers[(int)N1]);

Замените так:

send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b00000000;

Core

  • Гость
Re: Опорник от Владимир_К
« Ответ #329 : Май 19, 2021, 12:45:06 pm »
 123123 ок