- Вложения
-
- main.c
- (5.54 КБ) 14 скачиваний
-
- isp.h
- (1.56 КБ) 7 скачиваний
-
- isp.c
- (5.67 КБ) 7 скачиваний
-
- clock.h
- (663 байт) 8 скачиваний
-
- clock.c
- (549 байт) 8 скачиваний
СБОРКА ПРОГРАМАТОРА USBASP НА АТМЕГА32
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
доброго времени суток люди добрые помогите перекомпилировать прошивку под мегу16 или 32 собрал програматор изначально на мега16 переделал прошивку из под меги8 в месте с ChatGPT прошивается и верифицируется но комп пишет сбой дескриптора я сам не очень понимаю вэтом может сам чат не туда меня водит файлы прилагаю
- Реклама
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
добавляю
- Вложения
-
- eab510f5-821d-4aad-9bba-d1d55ab6e589.png
- (220.28 КБ) 21 скачивание
-
- eab510f5-821d-4aad-9bba-d1d55ab6e589.png
- (220.28 КБ) 11 скачиваний
- Сообщения: 1224
- Зарегистрирован: Пт ноя 22, 2024 14:08:43
видимо, ни у кого нет желания ходить по граблям, когда рядом ровная дорога.....
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
пересобрал вроде все внимательно проверил все равно сбой дескриптора парни если кто может проверте пожалуйста
- Вложения
-
- clock.h
- (675 байт) 10 скачиваний
-
- usbconfig.h
- (10.71 КБ) 9 скачиваний
-
- main.c
- (7.66 КБ) 9 скачиваний
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
- Реклама
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
да вот именно что не могу проверить у меня ослик до 500кгц сейчас попробую написать програмку чтоб поделила частоту и залью попробую проверить
- Сообщения: 1405
- Зарегистрирован: Вт июн 07, 2011 08:03:18
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
Но, вообще, по проекту, Ваш микроконтроллер тактируется от внешнего кварцевого резонатора 12 МГц и в настройках тоже установлено 12 МГц?СтасДимас22 писал(а): Вт июн 02, 2026 12:37:30 да вот именно что не могу проверить у меня ослик до 500кгц сейчас попробую написать програмку чтоб поделила частоту и залью попробую проверить
Мне кажется, Вам стоит выложить весь проект, а не часть заголовочных файлов. Вы считаете, что раз сбой дескриптора, то причина в его описании и выкладываете его, однако, причина может быть в том, что дескриптор не передаётся вообще. То есть, то, что Вы приложили ранее, может не иметь отношения к проблеме или лишь частично.
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
ДОБАВЛЯЮ
- Вложения
-
- IMG_20260602_180410.jpg
- (119.39 КБ) 13 скачиваний
-
- ПРОГ16.lay69.lay6
- (84.01 КБ) 6 скачиваний
-
- ЛЛЛЛЛ.png
- (245.91 КБ) 8 скачиваний
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
Насколько я вижу, общая точка конденсаторов кварца имеет сомнительную правильность подключения к земле. Она не должна использоваться как земля для других компонентов. Не то, чтобы это не работало, но вероятность неустойчивой работы высока.
Но под полным проектом я имел ввиду всё же полный проект.
Но под полным проектом я имел ввиду всё же полный проект.
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
Я заливал простую прогу для трёх ледов чтобы с задержкой горели led1 200ms led2 800ms led3 1.2s чтобы визуально было видно вывод кварц рабочий или возможно он дает какуюто погрешность
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
так из исходников же видно как собран hex я просто попросил если есть понимаюшие проверить если чтото не правильно то пнуть в нужном направлении только не слишком сильноZapolyarny писал(а): Вт июн 02, 2026 15:53:08Но, вообще, по проекту, Ваш микроконтроллер тактируется от внешнего кварцевого резонатора 12 МГц и в настройках тоже установлено 12 МГц?СтасДимас22 писал(а): Вт июн 02, 2026 12:37:30 да вот именно что не могу проверить у меня ослик до 500кгц сейчас попробую написать програмку чтоб поделила частоту и залью попробую проверить
Мне кажется, Вам стоит выложить весь проект, а не часть заголовочных файлов. Вы считаете, что раз сбой дескриптора, то причина в его описании и выкладываете его, однако, причина может быть в том, что дескриптор не передаётся вообще. То есть, то, что Вы приложили ранее, может не иметь отношения к проблеме или лишь частично.
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
подскажите пожалуйста а как они должны подключатся я так подключил потому что много схем пересмотрел везде у них общая земляZapolyarny писал(а): Вт июн 02, 2026 16:32:15 Насколько я вижу, общая точка конденсаторов кварца имеет сомнительную правильность подключения к земле. Она не должна использоваться как земля для других компонентов. Не то, чтобы это не работало, но вероятность неустойчивой работы высока.
Но под полным проектом я имел ввиду всё же полный проект.
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
мне не видно. Начало:
Я даже не совсем понял, что из чего. А уж где и в каком месте Вам насоветовал ИИ - тем более. Может быть, я просто не заметил, но никаких комментариев в коде "Изменил по совету ChatGPT" не увидел. И сравнивать мне не с чем - нет полного проекта, то есть, базовых и изменённых файлов.СтасДимас22 писал(а): Вс май 31, 2026 14:40:03 прошивку под мегу16 или 32 собрал програматор изначально на мега16 переделал прошивку из под меги8 в месте с ChatGPT
Нормальная трассировка (для односторонней платы) кварца очень проста: кварц и нагрузочные конденсаторы должны стоять максимально близко к микроконтроллеру, в идеале - кварц с противоположной стороны или на высоте, конденсаторы на его же посадочном месте. Их земля должна идти на вывод 6 микроконтроллера и всё. С обратной стороны (то есть, под корпусом) вывод 6 соединяется со всеми остальными выводами земли и общей землёй вообще. Сейчас поищу картинку.
- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
https://caxapa.ru/lib/emc_immunity.html вот, там на Фиг. 6 показано. И вообще имеет смысл прочитать весь текст статьи, она написано легкодоступно и небольшая, но полезна.
Впрочем, как говорил выше, вряд ли это причина текущей проблемы, это может быть причиной нестабильности работы.
Впрочем, как говорил выше, вряд ли это причина текущей проблемы, это может быть причиной нестабильности работы.
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
В основном исходнике линии D- и D+ на PD2/PB1 и PB0, а Вы перенесли на PD2/PD2 и PD4, верно?
просто смущает написанное у Вас в main.c:
Код: Выделить всё
/* output SE0 for USB reset */
DDRB = ~0;- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
да правильно USB я пренёс на PORTD вот так должно быть D+=PD3,D+=PD2(INT0) D-=PD4 а DDRB = ~0; это совет чата , подскажите как надо сделать?
перенос юсб пришлось сделать потомучто плату развел по совету чата надо было сначала исходник почитать потом плату разводить
перенос юсб пришлось сделать потомучто плату развел по совету чата надо было сначала исходник почитать потом плату разводить
- Сообщения: 181
- Зарегистрирован: Чт май 07, 2026 00:30:38
Нарисовать схему. Смотреть по картинке печатной платы - так никто не делает. Даже две линии USB посмотреть тяжко, а уж все - нафиг. Есть прекрасные программы сквозного проектирования (исключает ошибки между схемой и платой), притом бесплатные и простые. Например, KiCad.
Попробуйте заменить тело main() на это:
Код: Выделить всё
int main(void) {
uchar i, j;
/* no pullups on USB and ISP pins */
PORTD = 0;
PORTB = 0;
/* all outputs except PD2 = INT0 */
DDRD = ~(1 << 2);
/* output SE0 for USB reset */
DDRD = ~0;
j = 0;
/* USB Reset by device only required on Watchdog Reset */
while (--j) {
i = 0;
/* delay >10ms for USB reset */
while (--i)
;
}
/* all USB and ISP pins inputs */
DDRB = 0;
DDRD = 0;
/* all inputs except PC0, PC1 */
DDRC = 0x03;
PORTC = 0xfe;
/* init timer */
clockInit();
/* main event loop */
usbInit();
sei();
for (;;) {
usbPoll();
}
return 0;
}- Сообщения: 33
- Зарегистрирован: Пн дек 30, 2024 09:55:33
СПАСИБО БОЛЬШОЕ Я ТАК DDRB = 0;
DDRD = 0; Я ТАК УЖЕ ДЕЛАЛ НЕ ПОМОГАЕТ УЖЕ И ПЛАТУ РАЗВЕЛ ПОД ОРИГИНАЛ В Makefile ЗАМЕНИЛ ТОЛЬКО ИМЯ МК И В КЛОК РЕГИСТР НЕ СОВПАДАЛ С 32 МЕГОЙ И ВСЕ БОЛЬШЕ НЕ ЧЕГО НЕ ТРОГАЛ ПЕРЕСОБРАЛ ХЕКС НУ ДУМАЮ НАВЕРНОЕ ВСЕ СЕЙЧАС УЖЕ А ШИШ ТАМ ОПЯТЬ СБОЙ
КСТАТИ СПАСИБО ЗА СТАТЬЮ ОЧЕНЬ ПОЛЕЗНАЯ ДА И ЗА ВСЕ СПАСИБО ПОПРОБУЮ НАЙТИ ИМЕННО ПОД 32 ИЛИ 16 МЕГУ
DDRD = 0; Я ТАК УЖЕ ДЕЛАЛ НЕ ПОМОГАЕТ УЖЕ И ПЛАТУ РАЗВЕЛ ПОД ОРИГИНАЛ В Makefile ЗАМЕНИЛ ТОЛЬКО ИМЯ МК И В КЛОК РЕГИСТР НЕ СОВПАДАЛ С 32 МЕГОЙ И ВСЕ БОЛЬШЕ НЕ ЧЕГО НЕ ТРОГАЛ ПЕРЕСОБРАЛ ХЕКС НУ ДУМАЮ НАВЕРНОЕ ВСЕ СЕЙЧАС УЖЕ А ШИШ ТАМ ОПЯТЬ СБОЙ
КСТАТИ СПАСИБО ЗА СТАТЬЮ ОЧЕНЬ ПОЛЕЗНАЯ ДА И ЗА ВСЕ СПАСИБО ПОПРОБУЮ НАЙТИ ИМЕННО ПОД 32 ИЛИ 16 МЕГУ


