|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 1:01 pm
| Автор |
Съобщение |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
 PIC32MX CAN bus
Наложи ми се да започна нещо, което от единия край ще има CAN, наложен ми е pic32mx като платформа. Знам, или поне си мислех, че знам, че някога имаше библиотека за работа с техния CAN, която микрочеп даваха за тази серия. Сега не я откривам? За сметка на това в xc32 виждам, че има някакви функции, не и стек, само фукции, които обаче дори хелп файла им ги крие и изглеждат все едно ще отпаднат скоро (по форумите видях такива забележки). После направих "откритие" - harmony??? Това вече ми се видя странно, но явно на тук са се задвижили от микрочеп за времето, в което нямах досег с техни продукти. Тъй като съм нов в CAN-а: може ли да ми подадете насока от къде да го започна, ако трябва да работя с pic32mx? В смисъл да го разписвам от дъното - надали има защо да го правя, да ползвам фукциите в xc32-то - сякаш скоро няма да са достъпни по този начин, а harmony-то изглежда недорасло - дори 1.0 не е, но пък като че хвърлят усилия по него. Обаче на мен ми трябва сега да правя нещо - кой е правилния начин с pic-a? Пък ако има външна библиотека или поне пример от където да започна ще бъде прекрасно. Все още чета каквото мога да открия из нета, докато не съм захванал писането, време има да реша, но преди да скоча с главата надолу ще се радвам на насока.
|
| Пон Юли 21, 2014 4:44 pm |
|
 |
|
Cino
Ранг: Новодошъл
Регистриран на: Чет Окт 02, 2008 10:24 pm Мнения: 105
|
 Re: PIC32MX CAN bus
в plib_examples на c32 има 4 примера за CAN, ..\Microchip\MPLAB C32 Suite\examples\plib_examples\can
|
| Пон Юли 21, 2014 6:12 pm |
|
 |
|
CarBeta
Ранг: Форумен бог
Регистриран на: Пет Май 01, 2009 4:01 pm Мнения: 1438
|
 Re: PIC32MX CAN bus
|
| Пон Юли 21, 2014 10:47 pm |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
 Re: PIC32MX CAN bus
Правилният с пика, и не само е този: http://www.mikroe.com/download/eng/documents/compilers/mikroc/pro/pic32/help/can_library.htm?TB_iframe=true&height=740&width=970Ако решиш да ползваш това, мога да помогна доста, а и като цяло за CAN мога да ти помогна без оглед на средата.
|
| Вто Юли 22, 2014 1:05 am |
|
 |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
 Re: PIC32MX CAN bus
@CarBeta, искаш да кажеш да го почвам от нулата? Бе, може и да си прав, поне няма да съм зависим от нечий мазаници, което най ме плаши. Ще отнеме повече време, а то май ще ме натискат да стане много бързо. За това се надявах на нещо да стъпя отгоре му. @relsys, няма да ползвам платен продукт, ако съм забравил да спомена - иска се да ползвам MPLAB-X + xc32 да могат да не са зависими от лицензи хората, което ми напомня, че (тъй като не съм сигурен вече кое какво) c32 е извън употреба, май? А какви са тези библиотеки, които е имало някога, а сега ги няма? Може би това за което говори Cino - ползвам xc32 1.32, линукс, а вътре не откривам такива примери, вероятно идват само с c32, уиндоус?
|
| Вто Юли 22, 2014 9:58 am |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
 Re: PIC32MX CAN bus
@head_up:
249$ преполагам е по-малко от седмичната ти заплата. За lifetime лиценз с толкова много екстри, при това работещи... е, не виждам защо някой трябва да се скръндзи. Освен това, при PIC32 означава, че проекта не е толкова малък, значи....
Иначе, като казваш, че не познаваш CAN-a имай предвид, че читав драйвер за по малко от година няма да спретнеш...
|
| Вто Юли 22, 2014 6:31 pm |
|
 |
|
sparkybg
Ранг: Форумен бог
Регистриран на: Вто Авг 23, 2005 12:02 pm Мнения: 3070 Местоположение: София
|
 Re: PIC32MX CAN bus
Приложил съм ти проект, който съм правил на USB-CAN преходник. Ползвай каквото и както ти скимне. Не е в много завършен вид, обаче, особено откъм PC частта. Все като ми потрябва го подкарвам колкото да ми свърши работа, и толкоз. За XC32 e, дано ти е от полза. ПП: За C32 e, мама му!  Заблудих се по това че е проекта е за MPLAB X.
|
| Сря Юли 23, 2014 1:41 am |
|
 |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
 Re: PIC32MX CAN bus
@sparkybg, благодаря, че споделяш труда си  Ще го прегледам обезателно. Обаче в c32 нещата са били различни, усетил си го  Все си мисля, че трябва да открадна микрочепския код от harmony-то и да си счупя главата да го направя самостоятелна библиотека, което би било все едно да си го напиша на ново  Edit: леле, майко, циганска работа това harmony, сега се загледах в него... всичко е темплейти на функции наблъскани в хедърни файлове за периферията  Дорева ми се... кой болен мозък в микрочеп е решил, че така ще станат нещата?! Изобщо за има-няма година и половина назад търкалях някакви линукси и FPGA-ата основно и да си призная бях изостанал от тренда в деградацията на малките микроконтролери. Сега изведнъж се почувствах все едно никога не съм знаеш нищо - какви са тия глупости от микрочеп?! Какви са тези глупости от NXP и тяхното LPxpresso, шантавите им "библиотеки"? Защо всеки се надпреварва да ти даде "работещ" фреймуърк, в който само да викаш не добре написани фукции и да се чудиш защо нещо не работи и дори по някога да не можеш да го пипнеш/дебъгнеш? Имаше времена когато нещото си идваше app note + src code. Самостоятелен код. Можеш да си мажеш сам лютеницата. Сега направо пакетирано - ядеш и не питаш какво ще изсе**ш. Извинявайте за натурализма, в момента ми иде да псувам селската... 
|
| Сря Юли 23, 2014 10:10 am |
|
 |
|
sparkybg
Ранг: Форумен бог
Регистриран на: Вто Авг 23, 2005 12:02 pm Мнения: 3070 Местоположение: София
|
 Re: PIC32MX CAN bus
CAN-а на PIC32 е достатъчно прост за да можеш да си напишеш функциите четейки чаршафа сравнително лесно. Тогава ползвах C32, защото ми беше първия проект с CAN и не бях наясно с много неща. Имам следващи (пак недовършени) проекти дето вече не е на C32, обаче не са документирани никак и мазалото вътре е пълно. По времето, коагато правих това, MPLAB X и XC32, бяха съвсем пресни, не можах да намеря информация как се прави bootloader под XC32, и имах и проблеми с USB библиотеките на икрочеп. Беше ми и първия USB проект, та мазалото съвсем беше пълно, и трябваше да използвам примери поне докато го подкарам.
|
| Сря Юли 23, 2014 11:25 am |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: PIC32MX CAN bus
|
| Сря Юли 23, 2014 1:30 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: PIC32MX CAN bus
 |  |  |  | head_up написа: @sparkybg, благодаря, че споделяш труда си  Ще го прегледам обезателно. Обаче в c32 нещата са били различни, усетил си го  Все си мисля, че трябва да открадна микрочепския код от harmony-то и да си счупя главата да го направя самостоятелна библиотека, което би било все едно да си го напиша на ново  Edit: леле, майко, циганска работа това harmony, сега се загледах в него... всичко е темплейти на функции наблъскани в хедърни файлове за периферията  Дорева ми се... кой болен мозък в микрочеп е решил, че така ще станат нещата?! Изобщо за има-няма година и половина назад търкалях някакви линукси и FPGA-ата основно и да си призная бях изостанал от тренда в деградацията на малките микроконтролери. Сега изведнъж се почувствах все едно никога не съм знаеш нищо - какви са тия глупости от микрочеп?! Какви са тези глупости от NXP и тяхното LPxpresso, шантавите им "библиотеки"? Защо всеки се надпреварва да ти даде "работещ" фреймуърк, в който само да викаш не добре написани фукции и да се чудиш защо нещо не работи и дори по някога да не можеш да го пипнеш/дебъгнеш? Имаше времена когато нещото си идваше app note + src code. Самостоятелен код. Можеш да си мажеш сам лютеницата. Сега направо пакетирано - ядеш и не питаш какво ще изсе**ш. Извинявайте за натурализма, в момента ми иде да псувам селската...  |  |  |  |  |
Ти да не падаш от луната? Стандартния фреимуърк е това ниво при всички производители. Общо взето сравнително добър, когато се касае за сетване на регистрите... и до там. Опреш ли до една идея по висока абстракция... става мазало, всичко е писано на коляно, просто да светне светодиода и това е. Важи за всичко - USB стекове, SPI/UART/CAN драйвери и т.н. По лошото е, че една голяма част от платения мидълуер май е така... абе покитайчване ли е, поиндийчване ли е... ба ли му мамата, ама е страшно.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Юли 23, 2014 1:32 pm |
|
 |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
 Re: PIC32MX CAN bus
Ми... явно падам от луната. От тъмната й страна, да сме по-точни. Нали това казвам: от година и половина не съм пипал малък контролер (изключая една драсканица покрай един проект, беше за час работа) и сега отново ми ги завряха да ги работя. И ... страшно е меко казано! Ама много меко! То ако спра да пиша за пикове още година и накрая ще получа графична среда в стил "drag & drop". За къв х*й оср*ха цялото удоволствие от програмирането... Те децата сега сигурно ще се учат да програмират направо от фреймуърка нагоре, какво става от долу кой го е еня?!  Edit: @sparkybg, ще излезеш златен накрая. Твоят код ще да се окаже добра основа (щом казваш, че работи), а функциите които ползваш ги намерих и си направих библиотека  Добро начало даваш на нищо не знаещия от CAN. Мерси, пусна ли го се обади за бира - намерих място в Пловдив със Столично Вайс наливна - е, няма такава бира, честно 
Последна промяна head_up на Сря Юли 23, 2014 3:11 pm, променена общо 1 път
|
| Сря Юли 23, 2014 2:54 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: PIC32MX CAN bus
head_up, много се превземаш според мен  . Досега да го беше направил тоя CAN стек от нулата, вместо да се вайкаш няколко дена тук из форума колко смотани били индийците/китайците  . Имай на предвид също, че без някакъв сорт CAN адаптер и софтуер за РС ще си удължиш времето за правене на стека многократно. Ако ПИК-а не е твърдо изискване мини на някой контролер от Фрискейл и ползвайки безплатния Code Warrior с Processor expert ще си готов с CAN стека за няколко часа (обикновено около час е достатъчен)  . Другия вариант е да не се циганите и да си платите за готови библиотеки.
|
| Сря Юли 23, 2014 3:06 pm |
|
 |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
 Re: PIC32MX CAN bus
Може, може. Още хвърлям пяна, като спра ще преценя до колко съм се превземал.
|
| Сря Юли 23, 2014 3:15 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC32MX CAN bus
 |  |  |  | Код: CANSetOperatingMode( CAN1, CAN_CONFIGURATION ); while( CANGetOperatingMode( CAN1 ) != CAN_CONFIGURATION );
/// Configure CAN filter according received configuration CANEnableFilter( module, filter, FALSE ); // Disables the filter: needed for configuration ! while( FALSE == CANIsFilterDisabled( module, filter) ); /// Configure a message acceptance filter CANConfigureFilter( module, filter, filterId, filterType ); /// Configure a message acceptance filter mask CANConfigureFilterMask( module, mask, maskId, filterType, maskType ); /// The filter and mask must together be linked to a channel: CANLinkFilterToChannel( module, filter, mask, channel ); /// Enable filter in order to be able to process messages: CANEnableFilter( module, filter, TRUE );
CANSetOperatingMode( CAN1, CAN_NORMAL_OPERATION ); while( CANGetOperatingMode( CAN1 ) != CAN_NORMAL_OPERATION );
|  |  |  |  |
Има си всичко готово, само трябва да прочетеш кое за какво е и да го използваш. Кодът по-горе е примерно за настройка на филтрите. На PIC32MX на CAN единственото, което съм забелязал като неудобство ( то всъщност си е проблем, но е описано в документацията, така че го приемам за неудобство ), е че ако асоциираш поне един филтър към дадена маска и след това решиш да модифицираш маската трябва да превключиш целия модул в режим на конфигурация и тогава да променяш маската. Забраната на филтъра няма ефект. Две седмици копане може да ди спести 2-3 часа четене. Избора е твой  Функциите по-горе са от MPLAB C v2.01, има ги и в сорс код. Ако евентуално тази библиотека отпадне от XC32, то можеш да си копнеш сорс кода в твоя проект и пак да си го използваш в XC32. А за CAN стек не съм чувал. Виждал съм CANOpen, J1939 и т.н.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Юли 23, 2014 7:42 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 6 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|