|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 2:35 pm
| Автор |
Съобщение |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Ядове с MPLAB X
Ако е GCC то проблемът с делението не е в компилатора, щото той не се занимава с такива неща  Деленията, както и много други неща трябва да са реализирани в т.н. "стандартни" библиотеки. Специално за математиките GNU имат универсални имплементации, но те не са оптимални изобщо. Затова е редно да се пренапишат за съответната платформа и явно някой от майкрочеп ги е пренаписал, ама как...
|
| Пет Юни 02, 2017 9:43 am |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
Не е проблемът в библиотека или компилатор! Определено не дефинирам променливите правилно! Опитах същите сметки върху контролера - абсолютно същия резултат. Спирането на оптимизациите също не дава резултат! За сега ще го карам с volatile пред всяка променлива. И методът, който предлагат, за генериране на закъснения е супер зле. При XC8 и XC16 функциите са читави, но тук предлагат да използва системния боряч и да се смятат тактовете, но това е супер зле, защото стойността се качва и в един момент започват да се препълват променливите, които се използват. Не че не може да се направи, но къде къде по-лесно е просто да си настроя един таймер на 1мс и един на 100 примерно и толкова...
_________________www.elkran.com
|
| Пет Юни 02, 2017 7:46 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Ядове с MPLAB X
ам никъде не е написано че Примерите, трябва да са професионално написани за хубаво закъснение със системен таймер търси rollover и Two's complement аз го ползвам с XС32 и си бачка окей с превъртането, тествам съм го 100MHz таймер // _CP0_GET_COUNT // и си превърта на 40 и еди-кояси секунда без проблем със закъснението
_________________ main[-1u]={1};
|
| Пет Юни 02, 2017 8:42 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Ядове с MPLAB X
ъъъ не мой така! Я дай примерен код, другаде ти е проблемът...
|
| Пет Юни 02, 2017 9:23 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
Ще се хвърля от някъде! Ъпдейтнах тъпото животно и сега всичко е 6... Аз си бях инсталирал версията, която имах(май 1.36). Макар че това са елементарни неща. Не вдявам как са пуснали продукт на пазара с такъв фундаментален пропуск...
_________________www.elkran.com
|
| Пет Юни 02, 2017 9:52 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: Ядове с MPLAB X
Абе на чупена архитектура като PIC (то това си има и предимства де) да се направи C компилатор си е направо геройство, особенно добре оптимизиращ - иска си сериозна инвестиция за да се хване някой да го прави за без пари 
_________________ Мразя да мразя ...
|
| Пет Юни 02, 2017 10:37 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: Ядове с MPLAB X
В случая става дума за XC32, т.е. за PIC32, т.е. за MIPS 4K / 14K.
|
| Пет Юни 02, 2017 11:28 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
Счупени, несчупени хората стоят стабилно на пазара, че даже и други компании купуват! Друго, което ми харесва е, че имат страшно много модели в групи по няколко взаимозаменяеми... Много често компании, които наблягат на количеството, а не качеството, стоят по-добре на пазара. Аз не съм имал някакви проблеми с дефектни контролери или несвойствени действия след написването на кода(по време на писането такива неща бол, както се вижда). Съдба!
_________________www.elkran.com
|
| Съб Юни 03, 2017 5:25 am |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
И на всичкото отгоре, като заредих програмата на контролера се появи същия проблем! Мога да заменя с div да ракърпя положението. Може пък наистина това да е коректния начин и като по-умен компилаторът да не го кефи директното делене... При 50MHz осцилатор и 25MIPs на периферията това не е кой знае какъв проблем, но ще трябва да преправям доста код...
_________________www.elkran.com
|
| Съб Юни 03, 2017 11:27 am |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: Ядове с MPLAB X
Ми нормално е по-тъпичките компилатори да се шашкат. Все пак, "/" е половин коментар. Той откъде да знае дали искаш да си поприказвате или да направиш нещо друго... 
|
| Съб Юни 03, 2017 11:35 am |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Ядове с MPLAB X
Би трябвало деленето да става нормално, трябва да разгледаш листинга - ако има де. { Това, което показваш като код - не е код, void main() { int x=10;int y=3 ;int z=x/y. }
На тоя "код" компилаторът с пълно право може да генерира 0 байта машинен код. Най-добре - разгледай листингите.
|
| Съб Юни 03, 2017 1:30 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: Ядове с MPLAB X
Обаче как се разбрало, че z не е изчислено, като не се ползва никъде ?
|
| Съб Юни 03, 2017 2:00 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
Ето какво става: Само дето леко не са го оправили, защото аз съм с 3.55! Ще тествам малко по-късно дали това се случва runtime и ако всичко е ок ще го оставя така. Да се надяваме, че проблемът е само в телевизора.. Това ще е много куцо ако ми прави така, докато дебъгвам голямата програма. Може ли малък пример как да избера място за дадена променлива? Мисля, че ако задам при дефинирането къде да я сложи, няма да го има този проблем(защото като дам volatile се оправя)... Само идея разбира се! Трябва да взема да им напиша! Барем го оправят този път...
_________________www.elkran.com
|
| Съб Юни 03, 2017 4:13 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Ядове с MPLAB X
Не схванах тоз бъг какво общо има с деленето. Ама аз от Ц и английски много не фащам.
|
| Съб Юни 03, 2017 6:34 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: Ядове с MPLAB X
Проблемът е в дебъгер-а. Когато си в режим дебъг или на симулатор, MPlab-a трябва да чете състоянията на регистрите и клетките на паметта, и да ти ги показва. ОБАЧЕ вместо да слага променливите в RAM-a глупавата програма ти ги показва в нещо като кеш на процесора(внесто на адрес да имаш 0х87932тралала имаш r02 (CPU)). На самият контролер променливата е, където трябва и програмата си се изпълнява правилно, но ти не виждаш това в дебъдер-а и няма как да разбереш. И вместо резултат слага вътре някакъв офсет спрямо, който да намериш къде ти е резултата или нещо от сорта. Не съм го гледал това. Явно като са го оправяли, са забравили този вариант! Защото само при делене се получава. Възможно е да е конкретно за този контролер, който използвам(не знам точно как е изградена програмата им!).
_________________www.elkran.com
|
| Съб Юни 03, 2017 8:33 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|