| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с PIC12F1840 http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13711 |
Страница 1 от 2 |
| Автор: | lcr [ Сря Апр 15, 2015 1:38 pm ] |
| Заглавие: | Проблем с PIC12F1840 |
Здравейте приятели! Начинаещ съм в програмирането на микроконтролери, но до момента все някак се справях. Натъкнах се на непонятен за мен проблем с PIC12F1840 и XC8 компилатор. Проблемът се състои в това, че не мога да накарам да се "запалят" повече от един изхода едновременно. Пример: #include<pic.h> #include<pic12f1840.h> #pragma config WDTE=OFF #pragma config LVP=OFF unsigned int i; void pause_1(); void main() { OSCCON = 0B10111010; //int osc - 1Mhz TRISA = 0B00000011; //RA1 ; RA0 inputs RA4=1; pause_1(); RA4=0; pause_1(); } void pause_1() { for(i=0; i<5000; i++); } В този случай RA4 си се пали и гаси, както трябва. Ако сменя RA4 с RA2, RA2 също си се пали и гаси. Но ако искам и двата порта да се палят едновременно: void main() { OSCCON = 0B10111010; //int osc - 1Mhz TRISA = 0B00000011; //RA1 ; RA0 inputs RA4=1; RA2=1; pause_1(); RA4=0; RA2=0; pause_1(); } работи само RA2 Моля за вашата помощ относно това, как да накарам повече от 1 порт да се управляват едновременно. |
|
| Автор: | michev [ Сря Апр 15, 2015 2:03 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
Изглежда почти работещо .. ако изключим факта че има изход от програмката ти. Я пробвай така
|
||||||||||
| Автор: | lcr [ Сря Апр 15, 2015 3:45 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
Пак работи само RA2 |
||||||||||
| Автор: | Cino [ Сря Апр 15, 2015 4:08 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
LATA4=1; LATA2=1; http://www.mikroe.com/download/eng/docu ... lp/rmw.htm |
|
| Автор: | lcr [ Сря Апр 15, 2015 4:43 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
Така всичко е "ток и жица" Много ти благодаря! Жив и здрав да си! |
||||||||||
| Автор: | Cekins [ Сря Апр 15, 2015 9:18 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
Ти верно ли настъпа тая мотика? Този ефект съм го постигал чак при 64MHz на 18F4622. При 4-8MHz не би трябвало да го прави. |
|
| Автор: | lcr [ Сря Апр 15, 2015 11:46 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
Да бе - то такива работи на такива прощапулници, като мен се случват - за да се сблъскат с трудности, та да се понаучат Какво ли не ми мина през акъла - като се започне от някаква настройка, ограничаваща консумацията, някакъв приоритет на портове, та до дефектен чип. Преобърнах няколко пъти дейта-шита, мернах нещо за LATA регистър, ама кой да се сети да пробва. След това експериментално едно по едно изключих останалите предположения, търсих и в мрежата по въпроса и накрая реших да питам тук. ....И за пореден път се убедих в това, че форумът е голяма работа |
||||||||||
| Автор: | Gogo [ Чет Апр 16, 2015 12:29 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
|
||||||||||
| Автор: | Cekins [ Чет Апр 16, 2015 2:54 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
Физически пина да не се сетне за времето между две инструкции. В линка дето е даден е обяснено с картинки. Не че е невъзможно ама бая капацитет трябва за да се случи - нещо от порядъка на над 500pF - 1nF. Капацитета на пиновете по спомен беше нещо като 10-15pF. Освен ако няма закачен някой корав мосвет директно на тоя пин, друго какво може да го натовари така? Та на мен ми се е случвало ама чак при 64MHz и да има достатъчно голям капацитет на пина, че да не може да стигне 3 волта до следващата инструкция. |
|
| Автор: | lcr [ Чет Апр 16, 2015 8:35 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
Обяснението от линка го разбрах, но не разбрах, защо примерно при 16F84 или 16F88 този ефект го няма. Или поне аз не съм го забелязал. А и обяснението с капацитивния характер на товара - ОК но в случая с 12F1840 с чисто активен товар и то далеч от товароспособността на изхода (1 mA) пак се проявява мизерията. |
|
| Автор: | Cekins [ Чет Апр 16, 2015 9:25 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
При всички пикове го има (за 16 и 32 битовите не съм сигурен). Вече казах при какви условия лично аз съм го виждал това. Имам усещането, че при теб проблема е друг. Пусни .asm файла с неработещата програма да видим какво дъвче компилатора, щото проблема може и от там да е. |
|
| Автор: | lcr [ Пет Апр 17, 2015 10:34 am ] | |||||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||||
|
||||||||||||
| Автор: | Cekins [ Пет Апр 17, 2015 11:52 am ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
Хм. Нормално си е. Явно наистина си настъпал мотиката |
|
| Автор: | pechkov [ Пет Апр 17, 2015 12:46 pm ] | |||||||||
| Заглавие: | Re: Проблем с PIC12F1840 | |||||||||
На мен нещо ми убягва. Как с промяна в програмата ще се променя капацитета на периферията? |
||||||||||
| Автор: | lcr [ Пет Апр 17, 2015 1:21 pm ] |
| Заглавие: | Re: Проблем с PIC12F1840 |
Обяснението с капацитивния товар вероятно не касае този случай. А и примерно със 16F88 и с RC товар на изход, на границата на товароносимостта му, такъв проблем не съм имал. Явно е това с мотиката По-важното е това, че решението на мизерията е ясно. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|