Програмирование pic на СИ.

Поклонники продукции Microchip Technology Inc тусуются тут.
vinni_puh
Встал на лапы
Сообщения: 99
Зарегистрирован: Ср мар 25, 2015 09:12:45

Re: Програмирование pic на СИ.

Сообщение 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-шка глючит...
Реклама
Аватара пользователя
shindax
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Re: Програмирование pic на СИ.

Сообщение shindax »

vinni_puh писал(а):...ИМХО FT-шка глючит...
Как это знакомо! Отличное оправдание собственной криворукости. :D Не, ну есть ещё вариант: PIC "глючит" :D При чём здесь Си вообще не понял. Вы - баран, извините.
Реклама
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Програмирование pic на СИ.

Сообщение 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... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Вложения
Dee_sample.png
(102.16 КБ) 576 скачиваний
DEEEmulation (1).zip
(312.55 КБ) 174 скачивания
Успех - императив!
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Програмирование pic на СИ.

Сообщение HHIMERA »

Roman Venom писал(а): Выскакивает ошибка синтаксиса, причём в библиотечном .s файле.

PIC24FJ256GB206, MPLAB X IDE 2.35, XC16.

В описалове они просят MPLAB 8 и C30... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Именно в этом... Вот из-за этого постоянного бардака нормальные давно уже свалили с ПИКа... Там всё уже без конца и края...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Програмирование pic на СИ.

Сообщение Roman Venom »

HHIMERA
Куча времени тратится просто впустую, когда любишься с подключением файликов и прочим... А так, с появлением harmony и code configurator пики стали куда более удобными в разработке. Ещё бы они с библиотеками своими разобрались:).
Успех - императив!
Реклама
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Програмирование pic на СИ.

Сообщение HHIMERA »

Всё это блеф... Когда это одноразовый колхоз-навоз... это одно... А когда эта эпопея длится уже не один год... то появляется желание просто покинуть этот ПИК-цирк... что многие и сделали... Не могу сказать что на других архитектурах намного лучше... в последнее время... разбираться с либами всё равно приходится... но и не настолько феерически безалаберно, как на ПИКах...
Можно конечно не верить и поднимать знамя полка... идти в атаку... кричать "ура"... Но в разделе ПИКов уже и отвечать толком некому... вот так всё запущено...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
vinni_puh
Встал на лапы
Сообщения: 99
Зарегистрирован: Ср мар 25, 2015 09:12:45

Re: Програмирование pic на СИ.

Сообщение vinni_puh »

Спасибо конечно за критику, но ведь я у вас не работаю, и экзамены не сдаю, правда?

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

Re: Програмирование pic на СИ.

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

vinni_puh писал(а):находить собственные дефекты в коде всегда приятно.
На Вашем уровне они АПРИОРИ будут ТОЛЬКО собственные.
Сарказм вызывают Ваши постоянные подозрения на ЧУЖИЕ баги... :dont_know:
Roman Venom писал(а): Так... А у меня тут творится неведомая фигня с демо-проектом DEE, который можно скачать с сайта Microchip.
Выскакивает ошибка синтаксиса, причём в библиотечном .s файле.

PIC24FJ256GB206, MPLAB X IDE 2.35, XC16.

В описалове они просят MPLAB 8 и C30... но это как-то кисло совсем уже. Надеюсь, дело не в этом.
Прицеплен демо для 8-битного С18... :dont_know:
Причем тут С30 и 16 разрядные ПИКи?
Собственно написать эмуляцию EEPROM можно и без библиотеки. Там все элементарно.
Скользящий в выделенном пространстве флеша массив EEPROM.
Каждая новая запись происходит со смещением на длину эмулируемого EEPROM.
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Програмирование pic на СИ.

Сообщение Roman Venom »

КРАМ

Прошу прощения, кинул не тот пример. Он же существует и под С30.

http://www.microchip.com/wwwAppNotes/Ap ... e=en530593


Ну, если не получится пользоваться этими библиотеками - то придётся свои сделать. Просто это время всё. Пользоваться ПЗУ это всего лишь кусочек проекта.
Успех - императив!
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25291
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Програмирование pic на СИ.

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

Времени там много не нужно.
Кроме того, библиотеки под ХС16 не переписывались. Если компилем пользоваться интуитивно, то всякий раз будут вылезать такие ошибки.
Я пишу на С30 как раз для того, чтобы не вникать в нюансы отличий XC16 и С30. (А чаще вовсе на АСМ30). Тем более, что на MPLAB X я так и не перешел. Не нравится.
ЗЫ. В Кейле тоже полно опечаток в референсных кодах.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Програмирование pic на СИ.

Сообщение HHIMERA »

КРАМ писал(а): Я пишу на С30 как раз для того, чтобы не вникать в нюансы отличий XC16 и С30. (А чаще вовсе на АСМ30). Тем более, что на MPLAB X я так и не перешел. Не нравится.
Мне тоже... тем более к тому времени я уже с ПИков ушёл... но С30 ещё на компе болтается...
ЗЫ. В Кейле тоже полно опечаток в референсных кодах.
А где их нет??? Но это же такая мелочь...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25291
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Програмирование pic на СИ.

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

Действительно мелочь. Ровно такая же, как и в ХС16.
Просто время приходится терять на всякую хню... :wink:
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Програмирование pic на СИ.

Сообщение HHIMERA »

В любой сфере... будь то строительство... или выращивание помидор... или резьба по дереву... приходится тратить время на "хню"...
И в скрипках Страдивари тоже есть "хня"... а вот до сих пор повторить не могут... А времени на это... так уже вообще потрачено не меряно...
Вся наша жизнь... сплошная "хня"... :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Програмирование pic на СИ.

Сообщение Roman Venom »

Скомпилилось под XC16 :idea: . Нужно было указать include lib директорию компилятора C30. К слову c библиотеками peripheral_P24F , которые можно скачать дополнительно под XC16 - такая же история. Всё равно ставим С30, и в свойствах проекта XC16 указываем путь к С30/gld.

Ну а сам компилятор, к слову, XC лучше хотя бы потому, что под него написаны все новые mla. C30 выдаём там тучу ошибок.

P.S. Всех с наступившим и Рождеством. Чтобы всё у всех компилировалось! :beer:
Успех - императив!
Darkmaster
Встал на лапы
Сообщения: 137
Зарегистрирован: Вс окт 11, 2009 09:54:59
Откуда: Пенза

Re: Програмирование pic на СИ.

Сообщение 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;" пишет в регистры значение для их гашения...но слабо помогло ,мучаюсь с этой засветкой ,надеюсь не придется переделывать платку для еще одного регистра или еще чего..
Буду признателен за советы )))

з.ы. МК помимо индикации занимается измерениями и сравнениями
Вложения
Analyzer.JPG
(152.85 КБ) 382 скачивания
Интересная,однако,штука
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Програмирование pic на СИ.

Сообщение Аlex »

Проблема, вероятнее всего программная. Выкладывайте весь код.
И ещё, немного не понятно по схеме. На ней светодиодная матрица 8x8, а Вы говорите про шкалу. По подробнее опишите, лучше с фоткой, заодно будет видно что за засветы у Вас происходят.
Аватара пользователя
shindax
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Re: Програмирование pic на СИ.

Сообщение 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 всегда можно добавить.
Darkmaster
Встал на лапы
Сообщения: 137
Зарегистрирован: Вс окт 11, 2009 09:54:59
Откуда: Пенза

Re: Програмирование pic на СИ.

Сообщение Darkmaster »

shindax
Alex
да меня меньше буков нет.
Да.Это я не точно указал.Управление матрицей 5на10.
5столбцов и десять строк .
Добавлю кода вечером (по Москве).
Очень даже ,что проблема программная.Из за скорости работы транзисторных ключей сие происходит.(подсвечиваются все индикаторы .при обычном свете можно увидеть.а темноте и подавно)Менее чем впол-накала светятся индикаторы,будто индикатор еще "хранит" предыдущий/ие результат..и это именно с ключами.На одних регистрах все норм было.
Вложения
Project676.rar
Код индикации
(2.34 КБ) 157 скачиваний
Интересная,однако,штука
Аватара пользователя
shindax
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Re: Програмирование pic на СИ.

Сообщение shindax »

Между засветкой предыдущего и следующего ряда( столбца ), должен быть момент полного гашения, тогда никаких засветок не будет.
Darkmaster
Встал на лапы
Сообщения: 137
Зарегистрирован: Вс окт 11, 2009 09:54:59
Откуда: Пенза

Re: Програмирование pic на СИ.

Сообщение Darkmaster »

shindax писал(а): должен быть момент полного гашения
само собой .строка
Sendbyte(FILTRE_NULL)
как раз отправляет в регистры нули (ну или единицы .)для гашения.ее (в коде видно) я и добавил в функции вывода.Как раз между выводами значении на индикаторы..Да вот не помогло однако..может нужно большее время ? (время в течении которого все индикаторы погашены)
по коду частота вывода и гашения равны..
Вынести процесс Гашения индикаторов в типа обособленную функцию?и увеличить частоту обновления инфы на индикаторах?..
Интересно сколько держать их в погашенном состоянии..
Интересная,однако,штука
Ответить

Вернуться в «PIC»