Страница 39 из 103
Re: Програмирование pic на СИ.
Добавлено: Пн дек 28, 2015 18:13:05
vinni_puh
ТАк,) господа коты, спасибо за долготерпение.
Далее примерно следующее. Поигрался скоростями - без толку. Т.е 80% цельных пакетов нормально проходят, 20 глючат.
Прикрутил в ПИКе условие, что если ошибка в пакете, то он не просто отбрасывается, а эхо-зеркалируется назад.
Получается, что в посыле если он глючный, всегда пропадает 1-2 ПЕРВЫХ байта. а иногда, изредка, вообще пакет пролетает не вызвав прерывания по приему. И никогда не теряются хвосты (не обрезаются интервалом тишины)
03 01 00 00 55//то, что должно быть(я посылаю)
01 00 00 55 00(прилетает эхом)
55 00 00 00 00
00 00 55 00 00 ///3 варианта глюков со "смещением"
ИМХО FT-шка глючит...
Re: Програмирование pic на СИ.
Добавлено: Вт дек 29, 2015 14:41:45
shindax
vinni_puh писал(а):...ИМХО FT-шка глючит...
Как это знакомо! Отличное оправдание собственной криворукости.

Не, ну есть ещё вариант: PIC "глючит"

При чём здесь Си вообще не понял. Вы - баран, извините.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 10:16:30
Roman Venom
vinni_puh писал(а):ТАк,) господа коты, спасибо за долготерпение.
Далее примерно следующее. Поигрался скоростями - без толку. Т.е 80% цельных пакетов нормально проходят, 20 глючат.
Прикрутил в ПИКе условие, что если ошибка в пакете, то он не просто отбрасывается, а эхо-зеркалируется назад.
Получается, что в посыле если он глючный, всегда пропадает 1-2 ПЕРВЫХ байта. а иногда, изредка, вообще пакет пролетает не вызвав прерывания по приему. И никогда не теряются хвосты (не обрезаются интервалом тишины)
03 01 00 00 55//то, что должно быть(я посылаю)
01 00 00 55 00(прилетает эхом)
55 00 00 00 00
00 00 55 00 00 ///3 варианта глюков со "смещением"
ИМХО FT-шка глючит...
Накосячил ты с подключением/питанием и ещё ХЗ с чем. FTшка тут ни при чём. Можешь её убрать, подключить физический com-port/USB to com переходник и будет такая же бука.
Так... А у меня тут творится неведомая фигня с демо-проектом DEE, который можно скачать с сайта Microchip.
Выскакивает ошибка синтаксиса, причём в библиотечном .s файле.
PIC24FJ256GB206, MPLAB X IDE 2.35, XC16.
В описалове они просят MPLAB 8 и C30... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 12:38:50
HHIMERA
Roman Venom писал(а):
Выскакивает ошибка синтаксиса, причём в библиотечном .s файле.
PIC24FJ256GB206, MPLAB X IDE 2.35, XC16.
В описалове они просят MPLAB 8 и C30... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Именно в этом... Вот из-за этого постоянного бардака нормальные давно уже свалили с ПИКа... Там всё уже без конца и края...
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 13:38:11
Roman Venom
HHIMERA
Куча времени тратится просто впустую, когда любишься с подключением файликов и прочим... А так, с появлением harmony и code configurator пики стали куда более удобными в разработке. Ещё бы они с библиотеками своими разобрались:).
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 13:55:36
HHIMERA
Всё это блеф... Когда это одноразовый колхоз-навоз... это одно... А когда эта эпопея длится уже не один год... то появляется желание просто покинуть этот ПИК-цирк... что многие и сделали... Не могу сказать что на других архитектурах намного лучше... в последнее время... разбираться с либами всё равно приходится... но и не настолько феерически безалаберно, как на ПИКах...
Можно конечно не верить и поднимать знамя полка... идти в атаку... кричать "ура"... Но в разделе ПИКов уже и отвечать толком некому... вот так всё запущено...
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 14:18:10
vinni_puh
Спасибо конечно за критику, но ведь я у вас не работаю, и экзамены не сдаю, правда?
А с проблемой разобрался... В одном месте else был неуместен, требовалось другое условие.
Что-ж, с ПИКА, FT-шки подозрения сняты, а находить собственные дефекты в коде всегда приятно.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 14:24:05
КРАМ
vinni_puh писал(а):находить собственные дефекты в коде всегда приятно.
На Вашем уровне они АПРИОРИ будут ТОЛЬКО собственные.
Сарказм вызывают Ваши постоянные подозрения на ЧУЖИЕ баги...
Roman Venom писал(а):
Так... А у меня тут творится неведомая фигня с демо-проектом DEE, который можно скачать с сайта Microchip.
Выскакивает ошибка синтаксиса, причём в библиотечном .s файле.
PIC24FJ256GB206, MPLAB X IDE 2.35, XC16.
В описалове они просят MPLAB 8 и C30... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Прицеплен демо для 8-битного С18...
Причем тут С30 и 16 разрядные ПИКи?
Собственно написать эмуляцию EEPROM можно и без библиотеки. Там все элементарно.
Скользящий в выделенном пространстве флеша массив EEPROM.
Каждая новая запись происходит со смещением на длину эмулируемого EEPROM.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 14:40:44
Roman Venom
КРАМ
Прошу прощения, кинул не тот пример. Он же существует и под С30.
http://www.microchip.com/wwwAppNotes/Ap ... e=en530593
Ну, если не получится пользоваться этими библиотеками - то придётся свои сделать. Просто это время всё. Пользоваться ПЗУ это всего лишь кусочек проекта.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 14:48:43
КРАМ
Времени там много не нужно.
Кроме того, библиотеки под ХС16 не переписывались. Если компилем пользоваться интуитивно, то всякий раз будут вылезать такие ошибки.
Я пишу на С30 как раз для того, чтобы не вникать в нюансы отличий XC16 и С30. (А чаще вовсе на АСМ30). Тем более, что на MPLAB X я так и не перешел. Не нравится.
ЗЫ. В Кейле тоже полно опечаток в референсных кодах.
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 16:04:40
HHIMERA
КРАМ писал(а):
Я пишу на С30 как раз для того, чтобы не вникать в нюансы отличий XC16 и С30. (А чаще вовсе на АСМ30). Тем более, что на MPLAB X я так и не перешел. Не нравится.
Мне тоже... тем более к тому времени я уже с ПИков ушёл... но С30 ещё на компе болтается...
ЗЫ. В Кейле тоже полно опечаток в референсных кодах.
А где их нет??? Но это же такая мелочь...
Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 16:42:17
КРАМ
Действительно мелочь. Ровно такая же, как и в ХС16.
Просто время приходится терять на всякую хню...

Re: Програмирование pic на СИ.
Добавлено: Ср дек 30, 2015 16:54:22
HHIMERA
В любой сфере... будь то строительство... или выращивание помидор... или резьба по дереву... приходится тратить время на "хню"...
И в скрипках Страдивари тоже есть "хня"... а вот до сих пор повторить не могут... А времени на это... так уже вообще потрачено не меряно...
Вся наша жизнь... сплошная "хня"...

Re: Програмирование pic на СИ.
Добавлено: Пт янв 08, 2016 18:30:59
Roman Venom
Скомпилилось под XC16

. Нужно было указать
include lib директорию компилятора C30. К слову c библиотеками
peripheral_P24F , которые можно скачать дополнительно под XC16 - такая же история. Всё равно ставим С30, и в свойствах проекта XC16 указываем путь к
С30/gld.
Ну а сам компилятор, к слову, XC лучше хотя бы потому, что под него написаны все новые mla. C30 выдаём там тучу ошибок.
P.S. Всех с наступившим и Рождеством. Чтобы всё у всех компилировалось!

Re: Програмирование pic на СИ.
Добавлено: Вт янв 26, 2016 20:31:56
Darkmaster
Всем доброго))
Значит появилась зараза ,от которой пока не удается избавиться- А именно засветка светодиодных индикаторов (в виде шкал они у меня).
Индикаторы с ОА,на анодах транзисторные ключи,ключи и катоды управляются с PIC16F676,через сдвиговые регистры(см.схему)
МК работает на частоте 4МГц,индикация в прерывании по TMR0,предделитель сейчас 1:8
Код: Выделить всё
void Indikation (void) //Func fin-stage send
{
switch(indic_count)
{
case 0: Sendbyte(FILTRE1); break;
case 1: Sendbyte(FILTRE_NULL); break;
case 2: Sendbyte(FILTRE2); break;
case 3: Sendbyte(FILTRE_NULL); break;
case 4: Sendbyte(FILTRE3); break;
case 5: Sendbyte(FILTRE_NULL); break;
case 6: Sendbyte(FILTRE4); break;
case 7: Sendbyte(FILTRE_NULL); break;
case 8: Sendbyte(FILTRE5); break;
case 9: Sendbyte(FILTRE_NULL); break;
default: break;
}
}
строка " case 1: Sendbyte(FILTRE_NULL); break;" пишет в регистры значение для их гашения...но слабо помогло ,мучаюсь с этой засветкой ,надеюсь не придется переделывать платку для еще одного регистра или еще чего..
Буду признателен за советы )))
з.ы. МК помимо индикации занимается измерениями и сравнениями
Re: Програмирование pic на СИ.
Добавлено: Вт янв 26, 2016 22:18:19
Аlex
Проблема, вероятнее всего программная. Выкладывайте весь код.
И ещё, немного не понятно по схеме. На ней светодиодная матрица 8x8, а Вы говорите про шкалу. По подробнее опишите, лучше с фоткой, заодно будет видно что за засветы у Вас происходят.
Re: Програмирование pic на СИ.
Добавлено: Ср янв 27, 2016 05:02:41
shindax
И можно поменьше "букаф"

:
Код: Выделить всё
void Indikation (void) //Func fin-stage send
{
switch(indic_count)
{
case 0: Sendbyte(FILTRE1); break;
case 2: Sendbyte(FILTRE2); break;
case 4: Sendbyte(FILTRE3); break;
case 6: Sendbyte(FILTRE4); break;
case 8: Sendbyte(FILTRE5); break;
default:Sendbyte(FILTRE_NULL); break;
}
}
Или так:
Код: Выделить всё
void Indikation (void) //Func fin-stage send
{
unsigned tmp = FILTRE_NULL; // Не знаю, как определены FILTRE_NULL и FILTREx, для выбора нужного типа
switch(indic_count)
{
case 0: tmp = FILTRE1 ; break;
case 2: tmp = FILTRE2 ; break;
case 4: tmp = FILTRE3 ; break;
case 6: tmp = FILTRE4 ; break;
case 8: tmp = FILTRE5 ; break;
default: break;
}
Sendbyte( tmp );
}
В случае необходимости нужный case всегда можно добавить.
Re: Програмирование pic на СИ.
Добавлено: Ср янв 27, 2016 09:02:42
Darkmaster
shindax
Alex
да меня меньше буков нет.
Да.Это я не точно указал.Управление матрицей 5на10.
5столбцов и десять строк .
Добавлю кода вечером (по Москве).
Очень даже ,что проблема программная.Из за скорости работы транзисторных ключей сие происходит.(подсвечиваются все индикаторы .при обычном свете можно увидеть.а темноте и подавно)Менее чем впол-накала светятся индикаторы,будто индикатор еще "хранит" предыдущий/ие результат..и это именно с ключами.На одних регистрах все норм было.
Re: Програмирование pic на СИ.
Добавлено: Чт янв 28, 2016 07:57:49
shindax
Между засветкой предыдущего и следующего ряда( столбца ), должен быть момент полного гашения, тогда никаких засветок не будет.
Re: Програмирование pic на СИ.
Добавлено: Чт янв 28, 2016 11:38:21
Darkmaster
shindax писал(а): должен быть момент полного гашения
само собой .строка
Sendbyte(FILTRE_NULL)
как раз отправляет в регистры нули (ну или единицы .)для гашения.ее (в коде видно) я и добавил в функции вывода.Как раз между выводами значении на индикаторы..Да вот не помогло однако..может нужно большее время ? (время в течении которого все индикаторы погашены)
по коду частота вывода и гашения равны..
Вынести процесс Гашения индикаторов в типа обособленную функцию?и увеличить частоту обновления инфы на индикаторах?..
Интересно сколько держать их в погашенном состоянии..