SECU-64 - порт SECU-3 на mega-64(128) (SECU-3 --> ATmega128)
Moderator: STC
-
- QFP80 - Contributor
- Posts: 46
- Joined: Fri Mar 11, 2011 2:40 pm
Re: SECU-64 - порт secu-3 на mega-64(128)
Serj_K помоги разобраться, попробовал компилировать последнюю версию прошивки, но IAR выдает ошибки:
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 469
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 473
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 485
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 502
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 536
Warning[Pe223]: function "delay_ms" declared implicitly C:\Firmware\lcd.c 39
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\procuart.c 116
Error while running C/C++ Compiler
secu3.c
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\secu3.c 137
Error while running C/C++ Compiler
Warning[Pe177]: variable "dt" was declared but never referenced C:\Firmware\ventilator.c 54
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 469
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 473
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 485
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 502
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\Firmware\ckps.c 536
Warning[Pe223]: function "delay_ms" declared implicitly C:\Firmware\lcd.c 39
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\procuart.c 116
Error while running C/C++ Compiler
secu3.c
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\secu3.c 137
Error while running C/C++ Compiler
Warning[Pe177]: variable "dt" was declared but never referenced C:\Firmware\ventilator.c 54
-
- LQFP144 - On Top Of The Game
- Posts: 330
- Joined: Thu Dec 09, 2010 12:55 pm
- Location: Kyiv, Ukraine
Re: SECU-64 - порт secu-3 на mega-64(128)
Оказалось, что не обновил в репозитории несколько файлов. Исправил - проверяй. Предупреждение из за ventilator.c убрал.
-
- QFP80 - Contributor
- Posts: 46
- Joined: Fri Mar 11, 2011 2:40 pm
Re: SECU-64 - порт secu-3 на mega-64(128)
Предупреждение пропало, но остались ошибки:
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\procuart.c 116
Error while running C/C++ Compiler
secu3.c
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\secu3.c 137
Error while running C/C++ Compiler
Обе ошибки ссылаются на строку if (!knock_module_initialize()), насколько я понимаю тип функции !knock_module_initialize() jghtltkty как void, то есть ничего не может возвращать.
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\procuart.c 116
Error while running C/C++ Compiler
secu3.c
Error[Pe041]: expression must have arithmetic or pointer type C:\Firmware\secu3.c 137
Error while running C/C++ Compiler
Обе ошибки ссылаются на строку if (!knock_module_initialize()), насколько я понимаю тип функции !knock_module_initialize() jghtltkty как void, то есть ничего не может возвращать.
-
- LQFP144 - On Top Of The Game
- Posts: 330
- Joined: Thu Dec 09, 2010 12:55 pm
- Location: Kyiv, Ukraine
Re: SECU-64 - порт secu-3 на mega-64(128)
Немного не так. Там идёт так: если (условие) то - вызывается knock_module_initialize(), которая ничего не возвращает, а инициализирует канал детонации.Обе ошибки ссылаются на строку if (!knock_module_initialize())
Но я обновил и эти файлы - оказалось, что там тоже были изменения, а я их пропустил.
Ну теперь точно должно работать.
-
- QFP80 - Contributor
- Posts: 46
- Joined: Fri Mar 11, 2011 2:40 pm
Re: SECU-64 - порт secu-3 на mega-64(128)
Собрал блок индикации на дисплее WH2004D-TMI-CT, прошил последнюю версию прошивки, а на дисплее одни квадраты. Как можно проверить работоспособность дисплея? Проверял осциллографом сигналы которые идут на дисплей, воде импульсы идут, а изображения нет. Может быть проблема в том, что я компилирую проект в IAR Embedded Workbench 5.51?
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: SECU-64 - порт secu-3 на mega-64(128)
не исключено , как мы выяснили уже в проекте секу3 иар5.50 собирает новые прошивки с "пропусками зажигания" (((
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г
-
- LQFP144 - On Top Of The Game
- Posts: 330
- Joined: Thu Dec 09, 2010 12:55 pm
- Location: Kyiv, Ukraine
Re: SECU-64 - порт secu-3 на mega-64(128)
Может IAR, а может просто контраст большой. Если индикатор инициализируется нормально, то должно произойти хоть какое-то изменение в отображении после включения. А светодиоды нормально работают? По ним можно оперделить правильность передачи данных по I2C, сравнивая с информацией в менеджере.
С IAR интересно - он код вроде нормально делает, а данные (например таблицы) портит. Это связано с вариантом ENDIAN, который в этой версии не хочет нормально отрабатываться. Мне было проще найти старую версию, чем разбираться с решением этой проблемы.
С IAR интересно - он код вроде нормально делает, а данные (например таблицы) портит. Это связано с вариантом ENDIAN, который в этой версии не хочет нормально отрабатываться. Мне было проще найти старую версию, чем разбираться с решением этой проблемы.
-
- QFP80 - Contributor
- Posts: 46
- Joined: Fri Mar 11, 2011 2:40 pm
Re: SECU-64 - порт secu-3 на mega-64(128)
При включении появляются квадраты, в первой и третей строке. Светодиоды работают нормально, как ошибки, так и состояния концевиков. Serj_K сможешь скомпилировать прошивку по LCD 20x4 с имитатором ДПКВ под ATmega128, хоть исключу версию с компилятором? Еще у меня вопрос, почему на дисплей ты поставил T=40mks (по схеме R4, C5), от чего это зависит, и на что влияет?
-
- LQFP144 - On Top Of The Game
- Posts: 330
- Joined: Thu Dec 09, 2010 12:55 pm
- Location: Kyiv, Ukraine
Re: SECU-64 - порт secu-3 на mega-64(128)
1) С контрастом всё в порядке.
2) Откомпилировать пока не могу - после больших изменений в коде в связи с перетаскиванием накопленных изменений из основной ветки у меня сборка проходит с шибкой. В файле снятая прошивка с моего рабочего блока. Под индикатор 16х4, но в ней включён ШИМ вентилятора, поэтому имитатор имитирует фиксированные обороты и скорость RS 115200 на кварце 15.61МГц, поэтому связь с менеджером может отсутствовать.
3) Скорость обмена по I2C 110кбит/с -> периодичность смены информации на выходе расширителя порядка 80мкс. T=40mks - половина этой величины. Просто формируется надёжный импульс. Эта длительность не критична, главное, чтобы при каждой смене уровня на входе RC цепочки на выходе логического элемента проскакивал импульс примерно 40мкс.
Если моя прошивка не поможет - то проблема где-то в железе. Или монтаж, или что-то с индикатором. Может его цоколёвка отличается от приведенной на моей схеме - я такое уже видел раз.
2) Откомпилировать пока не могу - после больших изменений в коде в связи с перетаскиванием накопленных изменений из основной ветки у меня сборка проходит с шибкой. В файле снятая прошивка с моего рабочего блока. Под индикатор 16х4, но в ней включён ШИМ вентилятора, поэтому имитатор имитирует фиксированные обороты и скорость RS 115200 на кварце 15.61МГц, поэтому связь с менеджером может отсутствовать.
3) Скорость обмена по I2C 110кбит/с -> периодичность смены информации на выходе расширителя порядка 80мкс. T=40mks - половина этой величины. Просто формируется надёжный импульс. Эта длительность не критична, главное, чтобы при каждой смене уровня на входе RC цепочки на выходе логического элемента проскакивал импульс примерно 40мкс.
Если моя прошивка не поможет - то проблема где-то в железе. Или монтаж, или что-то с индикатором. Может его цоколёвка отличается от приведенной на моей схеме - я такое уже видел раз.
- Attachments
-
- s-128.rar
- (15.05 KiB) Downloaded 433 times
-
- LQFP144 - On Top Of The Game
- Posts: 330
- Joined: Thu Dec 09, 2010 12:55 pm
- Location: Kyiv, Ukraine
Re: SECU-64 - порт secu-3 на mega-64(128)
Одолел я проблему с @FIRMWARE_DATA_START в таблицах. Прошивка собирается без ошибок, но УОЗ не меняется от оборотов и в менеджере нет связи в нормальном режиме, в режиме загрузчика работает. Менеджер последний из гита. Буду дальше разбираться, искать ошибки после внесения изменений.