Чт мар 29, 2018 11:05:15
Чт мар 29, 2018 13:00:47
32 Гц чем вас не устраивает
Чт мар 29, 2018 13:53:13
еще раз повторяю:bango писал(а):По расчетам должно быть так 16000000/1024/250 = 62,5Гц
а фактически вот так 16000000/1024/124 = 62,5Гц метод подбора сработал
Чт мар 29, 2018 14:27:48
Чт мар 29, 2018 14:39:08
Чт мар 29, 2018 15:27:09
Вт июл 03, 2018 13:42:23
Вт июл 03, 2018 17:12:30
Народ, если нет особых требований, типа поддержки ATXmega, обычно, пользуется АВР Студией 4.19, она, пожалуй, самая стабильная и хорошо работающая. Более поздние Студии, да, излишне тяжелые и тормозные, особенно на машинках постарше. А Студия 4.19 летает на любых машинках, начиная с 3-го Пентиума.Atmel-studio как-то излишне заморочена на мой взгляд, инсталятор ставит тьму всякой-всячины.
Ср июл 04, 2018 11:07:30
Ср июл 04, 2018 13:13:58
А зачем? ИМХО, лучший вариант для USBASP - прорамма AVRDUDEPROG 3.3. Первый раз собрал проект, запустил AVRDUDEPROG, нашел и открыл в ней хекс-файл, записал, попробовал, свернул AVRDUDEPROG в трей, и все, правь проект дальше. Сделал новую сборку, одним кликом поднял из трея AVRDUDEPROG, вторым прошил новый вариант, и вперед!..В AVR Studio 4, в Tools-Customise-Tools хотел добавить пунктик вызов avrdude чтобы вливать прошивку в МК через программатор USBASP
Ср июл 04, 2018 15:22:58
const unsigned char *Main_strings[13]PROGMEM={strng1,strng2,strng3,strng4};
const unsigned char strng1[]PROGMEM ={"строка1\0"};
const unsigned char strng2[]PROGMEM ={"строка2\0"};
const unsigned char strng3[]PROGMEM ={"строка3\0"};
const unsigned char strng4[]PROGMEM ={"строка4\0"};
const unsigned char * const Main_strings[]PROGMEM={strng1,strng2,strng3,strng4};
extern const unsigned char strng1[];
extern const unsigned char strng2[];
extern const unsigned char strng3[];
extern const unsigned char strng4[];
extern const unsigned char * const Main_Menu_strings[];
for(uint8_t i=0;i<13;i++){
strings[i]=(const unsigned char * const)pgm_read_byte(&(Main_strings[i]));
}
Ср июл 04, 2018 17:52:29
char stnames[][16] PROGMEM =
{
" ",
" Тенгри FM ", // 100.50
" Радио Текс ", // 101.20
"Русское радио ", // 102.80
" Love Radio ", // 104.80
" Радио NS ", // 105.60
" Авторадио ", // 106.30
" Что-то FM ", // 106.70
" Наше радио ", // 107.00
" Дала FM " // 107.70
};
Ср июл 04, 2018 21:59:13
Пт июл 06, 2018 03:33:02
Как сказать? Я решал ту же самую задачу: получить набор строк для выдачи на LCD-экранчик, но для ее решения применил не кучку отдельных строк с массивом указателей на них, а обыкновенный двумерный массив. Недостаток этого решения - фиксированная (и максимальная) длина строки, т.е. перерасход памяти на пробелы, дополняющие более короткие строки. Впрочем, не факт, что это недостаток - при изменении какой-либо строки на экране не надо отдельно стирать предыдущую - новая строка точно перекрывает старую. Для этого же служит и первая (нулевая) пробельная строка, но это актуально только для моего приложения.Вы сделали не правильно.
Как я понимаю, эта версия входит в свежую версию Студии, да? А нельзя ли как-нибудь прикрутить ее к Студии 4.19?вы используете свежую версию avr-gcc
Пт июл 06, 2018 06:51:48
почитайте о том, как avr-gcc распределяет память при инициализации строковых "переменных", чтобы понять, что я имел ввиду под "неправильно": Storing and Retrieving Strings in the Program Spaceafz писал(а):Как сказать
можно, путем тупого переписывания папки со "старым" тулчейном файлами из "нового". Если хочется сохранить и работоспособность старого - тогда при помощи компиляции "внешним" makefile.afz писал(а):А нельзя ли как-нибудь прикрутить ее к Студии 4.19?
Пт июл 06, 2018 08:17:37
Пт июл 06, 2018 08:36:44
не всегда помогает. я столкнулся с тем, что в последних версиях avr-gcc то ли папки как-то поменяли, то ли их содержимое стало другим, но просто указание СТАРОЙ студии пути к НОВОМУ тулчейну может привести к тому, что некоторые утилиты (типа avr-size или make) не смогут вызываться. не утверждаю, что так происходит всегда, но у меня так было...oleg110592 писал(а):и указать путь к toolchain
Пт июл 06, 2018 10:57:36
0000 04000000 2b000000 01000000 41565200 ....+.......AVR.
0010 00000000 00400000 60000000 00040000 .....@..`.......
0020 00000000 00020000 08000000 01000000 ................
0030 0061746d 65676131 36000000 .atmega16...
Пт июл 06, 2018 12:18:02
Ну посмотрел. Это же опять про массив указателей на кучку отдельных строк, и то, и другое в PROGMEM. Я же предложил банальный массив строк. И то, и другое средство позволяют получить доступ к строке по ее номеру - собственно, ради этого все и затевалось. Только массив указателей на отдельные строки позволяет делать сами строки различной произвольной длины, а массив строк должен набираться из строк одинаковой длины, поскольку адресация в него ведется банальным умножением первого индекса (номера строки) на длину одной строки (это я подглядел в дизасме). Да, время выполнения этого действия больше, чем достать указатель из таблицы, но кого это волнует? А про то, что менять строки на экране проще, поскольку новая строка точно перекрывает старую, я уже написал.ARV писал(а):как avr-gcc распределяет память при инициализации строковых "переменных"
Пт июл 13, 2018 19:38:45