Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Mplab x xc8 delay_ms проблем
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=12969
Страница 1 от 1

Автор:  BugMan [ Вто Юни 03, 2014 10:18 pm ]
Заглавие:  Mplab x xc8 delay_ms проблем

Някой да се е сблъсквал с този проблем на mplabх липсата на функция delay_ms ? използвам mplab x xc8 pic16f1829 с вътрешен осцилатор и немога да задам закъснения няма хедар а аз съм малко нов и незнам какво да правя.

Автор:  sparkybg [ Вто Юни 03, 2014 10:26 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Функцията се казва __delay_ms();

За да работи трябва да имаш дефинирано _XTAL_FREQ в херци. XTAL_FREQ е работната честота на MCU-то, умножена по 4 (поне за PIC18).

Автор:  BugMan [ Вто Юни 03, 2014 10:41 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

"работната честота на MCU-то, умножена по 4 (поне за PIC18)" това умножаване по 4 е ако използваш PLL, #define _XTAL_FREQ=800000 мисля е при мен и пак подчертани с червено си стоят __delay_ms(); а това ме притеснява дали е просто някав безобиден бъг или не работи функцията коректно?

Автор:  sparkybg [ Вто Юни 03, 2014 11:23 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

BugMan написа:
"работната честота на MCU-то, умножена по 4 (поне за PIC18)" това умножаване по 4 е ако използваш PLL, #define _XTAL_FREQ=800000 мисля е при мен и пак подчертани с червено си стоят __delay_ms(); а това ме притеснява дали е просто някав безобиден бъг или не работи функцията коректно?


MCU-то изпълнява една иструкция за 4 цикъла на осцилатора, независимо външен, вътрешен, със или без PLL. Например, 16Mhz кварц, PLL x4 _XTAL_FREQ = 64000000. При без PLL - 16000000. В единия случай MCU-то изпълнява 16 милиона инструкции в секунда, в другия 4 милиона, демек работи на 16Mhz, и съответно на 4Mhz.

Капиш?

При _XTAL_FREQ 800000, MCU-то работи на 200 килохерца. Нещо не ми се вярва да работиш на такава честота.

Автор:  relsys [ Сря Юни 04, 2014 9:46 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

За да не се мъчиш:

http://www.mikroe.com/mikroc/pic/

Иначе, докато ти трябват функции от сорта на "Delay_ms();" е добре да не умуваш за PLL и тем подобни срещу колегите, които ти помагат....

Автор:  BugMan [ Сря Юни 04, 2014 11:45 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Извинете ако съм засегнал някой, не е било умишлено. relsys --- mikroC PRO for PIC го използвам от доста време но за тоя моя PIC16F1829 нещо не сработват правилно нещата даже и проста програма за 2 мигащи диода немога да подкарам на него та се ориентирах към MPLAB X IDE и сега се опитвам да си напиша дипломната :D

Автор:  sparkybg [ Чет Юни 05, 2014 12:05 am ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

BugMan написа:
Извинете ако съм засегнал някой, не е било умишлено. relsys --- mikroC PRO for PIC го използвам от доста време но за тоя моя PIC16F1829 нещо не сработват правилно нещата даже и проста програма за 2 мигащи диода немога да подкарам на него та се ориентирах към MPLAB X IDE и сега се опитвам да си напиша дипломната :D


Еми горната функция и горните сметки със сигурност работят коректно в мой проект за PIC18 под MPLAB X и XC8.

Автор:  Cekins [ Чет Юни 05, 2014 9:23 am ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

16F1829 е друга бира :) Той е малко мелез между 16-18-24. Е верно че от 24-ка има съвсем нищожно ама има - и то е местенето на периферии по пинове. Точно тая функционалност ползвам в един проект за една джаджа дето платката е малко по голяма от пикчето в корпус QFN16 :) Има 2 FSR-а и още куп изчанчености в сравнение с нормална 16-ка. За периферията да не говорим. Само не знам защо mikroC не мое се оправи с него...

Автор:  BugMan [ Чет Юни 05, 2014 6:32 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Cekins написа:
16F1829 е друга бира :) Той е малко мелез между 16-18-24. Е верно че от 24-ка има съвсем нищожно ама има - и то е местенето на периферии по пинове. Точно тая функционалност ползвам в един проект за една джаджа дето платката е малко по голяма от пикчето в корпус QFN16 :) Има 2 FSR-а и още куп изчанчености в сравнение с нормална 16-ка. За периферията да не говорим. Само не знам защо mikroC не мое се оправи с него...

Значи ако съм те разбрал правилно наистина има нещо нередно с mikroC и 16F1829 какво ли не опитах и неможах да го подкарам. ако е така ще се мъча на MPLAB X IDE

Автор:  sparkybg [ Чет Юни 05, 2014 9:23 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

BugMan написа:
ако е така ще се мъча на MPLAB X IDE


Е то голямо мъчение - един програмен ред. :)

Автор:  BugMan [ Чет Юни 05, 2014 9:48 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Не че нещо но сорса ми е много по сложен от мигането на 2 диода а на MPLAB X IDE пиша от 5 дни дето се вика още го разучавам . PWM, UART-USB, ADC, DAC тва всичко трябва да го реализирам в проекта а съм нов,зелен а на mikroC си има готови функции и библиотеки все едно си пиша на borland c++, MPLAB X малко е труден за работа или е до свикване и много четене за микропроцесорите

Автор:  sparkybg [ Чет Юни 05, 2014 9:57 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Еми то и в XC8 има библиотечни функции за отваряне на тия периферии. USB стека е най-сложното от всичките. Другите са лесни. Пък и можеш да си напишеш свои просто четейки чаршафа.

Автор:  stoyanoff [ Нед Юни 08, 2014 8:48 pm ]
Заглавие:  Re: Mplab x xc8 delay_ms проблем

Искаш ли да опиташ с друг компайлър?! Мога да препоръчам CCS. Има го в дата.бг. Там няма да имаш проблеми с тези delays. Аз лично го предпочитам пред другите, защото се грижи за голяма част от нещата, които иначе трябва ти да смяташ ..
Поздрави!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/