Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
FFAMax
Родился
Сообщения: 11
Зарегистрирован: Вс ноя 14, 2010 16:23:22

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FFAMax »

Еще вопросик... по codevisionavr
это в раздел глюков компилятора имхо

есть у меня такие конструкции, во время отладки не боюсь массово лепить:

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

        else  {
        if (TWI_DEBUG) {
            if (TWI_ACK_CHECK(TWSR) == 1) {     
                usart_string_write ("DBG: ACK was received");
            }
            else
            {
                usart_string_write ("DBG: ACK flag unknown");
            }
        }
    }

и таких еще штук 6 сверху

так вот, при выполнении где-то третьей такой штуки, я выводил уникальнусю строку, например

usart_string_write ("DBG: AC-K was received");

а когда дело доходило до последующих блоков, где-то через 2, то вместо ожидаемого "DBG: ACK was received" я получал "AC-K was received"

т.е. он откусывал "DBG: " и строку из предыдущего кода выводил, ну совсем бред какой-то.

методом тыка установил, что если использовать вместо непосредственного вызова функции usart_string_write во так:

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

                sprintf (buffer, "DBG: ACK flag unknown");
                usart_string_write (buffer);

то глюк исчезал.
по опциям компилятора потыкался, зависимость никакую не нашел. Может кто сможет объяснить? :)

я прикрепил файлы кода, в 3 варианте есть строка
sprintf (buffer, "DBG: 2ACK flag unknown: %XX", temp_int);
а вот вывод в консоль:
->> Begin of cycle ->>
DBG: status TWINT is: 0, waiting 1
DBG: TWSR is: 8
DBG: Sending address A4 to TWI bus
DBG: TWSR is: 18
DBG: ACK was received
DBG: 2ACK flag unknown: 1X
DBG: Sending address A2 to TWI bus
DBG: TWSR is: 28
ACK flag unknown: %XX
DBG: Sending address CC to TWI bus
DBG: TWSR is: 28
DBG: ACK flag unknown
<<- End of cycle <<-


а вот с 4 вариантом:
->> Begin of cycle ->>===================!!!
DBG: status TWINT is: 0, waiting 1
DBG: TWSR is: 8
DBG: Sending address A4 to TWI bus
DBG: TWSR is: 18
DBG: ACK was received
----DBG: A2CK flag unknown: 1X
DBG: Sending address A2 to TWI bus
DBG: TWSR is: 28
DBG: ACK was received
DBG: Sending address CC to TWI bus
DBG: TWSR is: 28
DBG: ACK was received
<<- End of cycle <<-

Если это компилятор так отжигает, то бежать надо куда-то..

SII писал(а):во-вторых, без ассемблера многие вещи так и останутся непонятными (а если ещё и компилятор сгенерит неверный код, то попробуй это обнаружь);


Вот вот вот!!!

Да... и еще существенное замечание.
Перед глючными строчками (вместо которых фигня выводилась) пробовал ставить delay_ms(50000), ну не заметить остановку программы на это время нельзя, так вот, программа не останавливалась, т.е. блок кода в блоке else не выполнялся. Словно все повторения схожих конструкций были заменены первой.
Вложения
mega128-12c-4.c
с виду нормальный
(10.6 КБ) 276 скачиваний
mega128-12c-3.c
глючный
(10.34 КБ) 285 скачиваний
FFAMax
Родился
Сообщения: 11
Зарегистрирован: Вс ноя 14, 2010 16:23:22

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FFAMax »

Ребята, помоги пожалуйста бедолаге связь с AT24C02 по TWI допилить, не пойму где грабля.
Записываю так:

DBG: status TWINT is: 0, waiting 1
DBG: TWSR is: 8
DBG: Sending address A4 to TWI bus
DBG: TWSR is: 18
DBG: ACK was received
DBG: Sending address A2 to TWI bus
DBG: TWSR is: 28
DBG: ACK was received
DBG: Sending address CC to TWI bus
DBG: TWSR is: 28
DBG: ACK was received
Изображение

читаю так:
DBG: status TWINT is: 0, waiting 1
DBG: TWSR is: 8
DBG: Sending address A4 to TWI bus
DBG: TWSR is: 18
DBG: ACK was received
DBG: Sending address A2 to TWI bus
DBG: TWSR is: 28
DBG: ACK was received
DBG: status TWINT is: 0, waiting 1
DBG: TWSR is: 10
DBG: Sending address A5 to TWI bus
DBG: TWSR is: 40
DBG: ACK was received

Изображение

Насколько я понимаю, все ок, только вот кроме ACK'ов должна еще байт данных отдать, так?
Вложения
mega128-12c-5.c
read
(10.92 КБ) 274 скачивания
mega128-12c-4.c
write
(10.48 КБ) 249 скачиваний
Аватара пользователя
канифоль
Встал на лапы
Сообщения: 110
Зарегистрирован: Сб янв 08, 2011 12:56:03
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение канифоль »

нужно ли подключать ноги XT1,2 на микроконтроллере в корпусе DIP 20 к программатору? речь об AVR,
и еще а какие самые популярные кварцы? закупится хочу :kill:
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Arlleex »

Нет, к программатору эти выводы не подключаются.
Вам для чего кварцевые резонаторы? Для отладочной платы?
Покупайте максимальные 16МГц, и 20МГц.
Так же лучше купить 8МГц, 12МГц.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Meteor »

У меня самые ходовые кварцы:
11,0592 МГц (для систем с применением uart)
16 и 12 МГц для остальных
Иногда применяю 8 МГц.
Было ремя когда ставил 3,6864 и 7,3728 МГц (для uart)
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
канифоль
Встал на лапы
Сообщения: 110
Зарегистрирован: Сб янв 08, 2011 12:56:03
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение канифоль »

Arlleex писал(а):Нет, к программатору эти выводы не подключаются..

кварцы так сказать для всего просто есть возможность купить их по 10рэ за штуку)
а для чего эти выводы?
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Arlleex »

Это линии вход\выход (соответственно) сигнала синхронизации.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

А во время "прошивания" МК этим программатором надо на Vсс подавать 3V или нет?! :facepalm: :solder: :dont_know:
Изображение
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SubDia »

просто КОТ, имеется в виду питание МК? Естественно надо.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
pavlo!
Открыл глаза
Сообщения: 58
Зарегистрирован: Пн май 30, 2011 14:14:44
Откуда: малоярославец
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pavlo! »

подскажите, вот имеется универсальный програматор avr910. а как называются платы с помощью которых он к мк через шлейф подключается? (мк вставляеш в эту плату и через провод к универсалу)
FFAMax
Родился
Сообщения: 11
Зарегистрирован: Вс ноя 14, 2010 16:23:22

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FFAMax »

Мммм.. про подобные платы говорите? http://sun-store.ru/product_38.html

p.s.
Ребята, с TWI может кто-нибудь помочь? :)

Может есть рабочий код... я бы его вшил и проверил свою EEPROMКу...
Это по той проблеме, где данные не читаются (выше, со скриншотами)
pavlo!
Открыл глаза
Сообщения: 58
Зарегистрирован: Пн май 30, 2011 14:14:44
Откуда: малоярославец
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pavlo! »

FFAMax писал(а):Мммм.. про подобные платы говорите? http://sun-store.ru/product_38.html

не. там идет он как модуль.
я про эти-
Изображение
вот те которые по краям. как они называются?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

pavlo! писал(а):я про эти - вот те которые по краям. как они называются?

Самопальные панельки для программирования, так и называются :))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Может кто-нить знает причину того что в младших и средне-младших сериях PIC'ов частота генератора делится на 4. Для чего это сделано?
Аватара пользователя
ximik
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Вс ноя 07, 2010 14:48:55
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ximik »

А при программировании нужно совмещать 2 одинаковые ноги (7и20 VCC) (8и22GND) ATmega8 и подобных им чипов? :kill:
Если болит голова, значит она есть!)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

ximik писал(а):нужно совмещать

Совмещать нужно приятное с полезным, а ноги соединять.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Chettuser писал(а):Может кто-нить знает причину того что в младших и средне-младших сериях PIC'ов частота генератора делится на 4. Для чего это сделано?

Команда не может исполнятся за один такт. Требуется несколько последовательных действий. И эти действия должны чем то тактироваться. Можно умножить кварцевую частоту и получить тактирование внутри машцикла, а можно поделить кварц и результирующую частоту использовать как системную. Это не имеет никакого значения.
А можно использовать конвейер и тактировать от системной частоты, правда латентность команд станет неприлично большой...
Дело вкуса и архитектуры.
Например в 18-х ПИКах можно включить PLL и частота кварца и системная частота совпадут. А можно просто повесить кварц с частотой в 4 раза выше системной и получить тот же результат.
В 24/33-х ПИКах частота осциллятора тольк вдвое выше системной. А частота самого кварца вообще слабо связана с частотой системы, поскольку использован синтезатор с дробным коэффициентом умножения частоты.
Непонятно в чем Ваша проблема. Не все равно какой номинал кварца? ;) :)
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Совмещать нужно приятное с полезным, а ноги соединять.

Ноги надо раздвигать, а соединять - выводы. :)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

ploop писал(а):Ноги надо раздвигать, а соединять - выводы. :)

Подъе*нул :wink:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

КРАМ писал(а):Непонятно в чем Ваша проблема. Не все равно какой номинал кварца? ;) :)

Не, я просто заинтересовался почему у AVR частота не делится, а у PIC делится на 4.
Ответить

Вернуться в «Разные вопросы по МК»