Проблемы при программировании AVR на Си

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 25 апр 2014, 10:11

Косвенную причину нашел - виснет только тогда, когда на всей плате есть 220В
так значит это и есть причина сброса
землянные петли отсутствуют? керамика около ног стоит? RESET подтянут,порты в воздухе не висят?имеется общая земля?

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Проблемы при программировании AVR на Си

Сообщение Alex_Jet » 25 апр 2014, 11:17

alexsis_76 писал(а):
Косвенную причину нашел - виснет только тогда, когда на всей плате есть 220В
так значит это и есть причина сброса
землянные петли отсутствуют? керамика около ног стоит? RESET подтянут,порты в воздухе не висят?имеется общая земля?
Старался землю и питание разводить звездой (сегодня еще раз перепроверю), RESET подтянут, керамику на ногах питания забыл предусмотреть. А вот про порты в воздухе...никогда не думал, что это может влиять. В воздухе PB0-PB4, PD0-PD5 (PD0 и PD1 - UART, PD2 заведен на INT ENC, но не используется), PD7 и PC0-PC7. Подтянуть их внутренними сопротивлениями?

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Проблемы при программировании AVR на Си

Сообщение Urbas81 » 25 апр 2014, 13:02

alexsis_76
Хочу попробовать добавить ntp client, есть рабочий пример eth_clock-2.1, скопировал оотуда запрос, объявил поддержку ntp, но в том проекте ip берется из dhcp, хотелось бы добавить ntp в текущий проект, где ip статический и Gateway тоже задается в настрйках. Сложно ли это реализовать, посмотрел обе функции client_ntp_request, отличаются лишним параметром mac, в исходниках Netalarma его нет, и запрос идет с 00 в маке, подставлял мас с рабочего примера, но ответа все равно от сервера ntp нет. Надеюсь на Вашу помощь.

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 25 апр 2014, 15:04

есть рабочий пример eth_clock-2.1
там на странице есть по старее без dhcp все работает http://tuxgraphics.org/common/src2/article07101/
что касается
client_ntp_request
мас есть и там и там , просто делается по другому , если что пишите в попробую
Подтянуть их внутренними сопротивлениями?
настройте как входы с подтяжкой
но ответа все равно от сервера ntp нет
может сервер не живой

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Проблемы при программировании AVR на Си

Сообщение Urbas81 » 25 апр 2014, 17:30

alexsis_76 писал(а):
есть рабочий пример eth_clock-2.1
там на странице есть по старее без dhcp все работает http://tuxgraphics.org/common/src2/article07101/
Cgсибо за наводку, скачал старый вариант, посмотрел, вроде все тоже самое делаю, уже упростил код, дальше некуда, посылка идет правильная, а ответа нет, оказывается каким-то образом мешал мой мас, когда подставил mac Tuxgraphics, сразу пришел ответ.

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 25 апр 2014, 18:29

присмотрелся сюда http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex немец не плохо потрудился написано грамотно,код очень понятен, легко модифицируем, там же кстати и бутлоадер можно приспособить для этого чуда

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 28 апр 2014, 14:25

Добрый день , вопросы немного не по теме , но все же спрошу
Не пробывали ли Вы подключать SD карту к NetAlarm, у меня почему то при инициализации карты валится spi, никак не могу понять в чем дело
Возможно Вы знаете как увеличить скорость работы программатора AVR910 от протосса под windows8,уж очень неприлично медленно, все мои старания пока ни к чему не привели

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Проблемы при программировании AVR на Си

Сообщение Alex_Jet » 28 апр 2014, 18:17

Уважаемые, приветствую!
А что такое может быть с flash (google сходу не нашел решение)? Вот что мне пишет avrdude:

Код: Выделить всё

vrdude -p atmega32 -P usb -c usbasp    -U flash:w:main.hex 

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (27480 bytes):

Writing | ################################################## | 100% 13.28s

avrdude: 27480 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex auto detected as Intel Hex
avrdude: input file main.hex contains 27480 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 12.84s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x17ff
         0x66 != 0x6e
avrdude: verification error; content mismatch

avrdude done.  Thank you.

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:30

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Проблемы при программировании AVR на Си

Сообщение Alex_Jet » 28 апр 2014, 18:20

alexsis_76 писал(а):Не пробывали ли Вы подключать SD карту к NetAlarm, у меня почему то при инициализации карты валится spi, никак не могу понять в чем дело
Возможно Вы знаете как увеличить скорость работы программатора AVR910 от протосса под windows8,уж очень неприлично медленно, все мои старания пока ни к чему не привели
Я не пробовал. В планах не было - главное чтобы по syslog отдавал значения! Хотя под win я нормального сервера так и не нашел. Буду на старой машине linux ставить. Скиньте на почту исходники под SD карту - время выкрою, попробую на одной из отладочных плат (там на SPI ENC и nRF24L01 висят).
С AVR910 тоже на работал, мой круг ограничился winavr, ponyprog, USBASP_AVRDUDE_PROG и программаторами ponyser, usbasp...

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Проблемы при программировании AVR на Си

Сообщение THK » 28 апр 2014, 21:17

alexsis_76 писал(а):Не пробывали ли Вы подключать SD карту к NetAlarm, у меня почему то при инициализации карты валится spi, никак не могу понять в чем дело
Подтяните вывод CS к плюсу питания...
Еще полезно подавать + на CS при активном сигнале Reset на проце (во время прошивки, например). Естественно, подача сигнала CS на SD карту, должна происходить через резистор...

PS Еще один момент при работе со SPI, при его инициализации в режиме мастера, сначала обязательно надо настроить вывод SS проца как выход. Актуально при использовании нескольких девайсах на интерфейсе.
И не все карты работают на полной скорости, как это делается с ЕНЦ. Не помню, на какой скорости я делал инициализацию...

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 29 апр 2014, 01:44

ставлю petitfat, что бы работать с SD по теловечески,там все исходники имеются, сегодня попробую прицепить подтяжку

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 29 апр 2014, 09:25

Добрый день , заработал SPI , но карта не видиться

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 30 апр 2014, 12:54

карта увиделась :D сегодня попробую вариант хранения веб страниц на sd карте

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Проблемы при программировании AVR на Си

Сообщение Urbas81 » 30 апр 2014, 12:55

AVR Studio 4.19?, что и где прописать, для вывода размера hex и eep в лог при компиляции?

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Проблемы при программировании AVR на Си

Сообщение THK » 30 апр 2014, 18:40

alexsis_76 писал(а):карта увиделась :D сегодня попробую вариант хранения веб страниц на sd карте
В чем была проблема?

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 30 апр 2014, 18:51

В чем была проблема?
нога SC карты была задействована через веб , недосмотрел :)

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Проблемы при программировании AVR на Си

Сообщение Alex_Jet » 03 май 2014, 02:24

[quote="alexsis_76"]
Появилось немного времени чтобы попробовать подтянуть свободные ноги МК к +питания. Да вот незадача встала. Что у меня, что в исходной схеме Netalarm ENC28J60 физически цепляется к PB2 (CS), PB6 (SO), PB5 (SI), PB7 (SCK), а в исходнике enc28j60.c вот так:

Код: Выделить всё

#define ENC28J60_CONTROL_CS     PORTB2
#define ENC28J60_CONTROL_SO     PORTB4
#define ENC28J60_CONTROL_SI     PORTB3
#define ENC28J60_CONTROL_SCK     PORTB5
Как это вообще работает? Где искать? С "действительными" значениями отказывается работать..

Хм...работать-то работает, поскольку используется аппаратный SPI МК. А вот почему отказывается работать когда подставляешь значения портов из схемы? Ну или подтягиваешь неиспользуемые пины к +?

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 03 май 2014, 12:08

* Chip type : ATMEGA88 with ENC28J60
видимо автор ошибся , схема нарисована для атмега32 а
#define ENC28J60_CONTROL_CS PORTB2
#define ENC28J60_CONTROL_SO PORTB4
#define ENC28J60_CONTROL_SI PORTB3
#define ENC28J60_CONTROL_SCK PORTB5
для ATMEGA88 поэтому и не работает я свои поменял
Вы хотите сказать если сюда
#define ENC28J60_CONTROL_CS PORTB2
#define ENC28J60_CONTROL_SO PORTB4
#define ENC28J60_CONTROL_SI PORTB3
#define ENC28J60_CONTROL_SCK PORTB5
подставляешь ноги mega 32 не работает
кстати в Вашем проекте мне пришлось поменять
#define ENC28J60_CONTROL_CS PORTB2
#define ENC28J60_CONTROL_SO PORTB4
#define ENC28J60_CONTROL_SI PORTB3
#define ENC28J60_CONTROL_SCK PORTB5
не работало

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Проблемы при программировании AVR на Си

Сообщение Alex_Jet » 03 май 2014, 18:55

Да, именно так. У меня с авторскими портами все работало, а когда начал "подтягивать" свободные ноги МК к +питания, то обратил внимание, что в си-файле для enc что-то не так и поменял на то, что сейчас закомментировано:

Код: Выделить всё

#define ENC28J60_CONTROL_CS		PORTB2		//PORTB2
#define ENC28J60_CONTROL_SO	PORTB4		//PORTB6
#define ENC28J60_CONTROL_SI		PORTB3		//PORTB5
#define ENC28J60_CONTROL_SCK	PORTB5		//PORTB7
В итоге пришлось все вернуть... Пока думаю, сегодня попробую снова откомпилировать и проверить.

alexsis_76

Re: Проблемы при программировании AVR на Си

Сообщение alexsis_76 » 04 май 2014, 08:16

#define ENC28J60_CONTROL_CS PORTB2 //PORTB2
вроде как SS на PORTB4

Пардон беру свои слова обратно , на оригинальной схеме
#define ENC28J60_CONTROL_CS PORTB2

Ответить