| Автор |
Съобщение |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Проблем с 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 порт да се управляват едновременно.
|
| Сря Апр 15, 2015 1:38 pm |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
 Re: Проблем с PIC12F1840
Изглежда почти работещо .. ако изключим факта че има изход от програмката ти. Я пробвай така
|
| Сря Апр 15, 2015 2:03 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
Пак работи само RA2 
|
| Сря Апр 15, 2015 3:45 pm |
|
 |
|
Cino
Ранг: Новодошъл
Регистриран на: Чет Окт 02, 2008 10:24 pm Мнения: 105
|
 Re: Проблем с PIC12F1840
|
| Сря Апр 15, 2015 4:08 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
Така всичко е "ток и жица" Много ти благодаря! Жив и здрав да си!
|
| Сря Апр 15, 2015 4:43 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Проблем с PIC12F1840
Ти верно ли настъпа тая мотика? Този ефект съм го постигал чак при 64MHz на 18F4622. При 4-8MHz не би трябвало да го прави.
|
| Сря Апр 15, 2015 9:18 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
Да бе - то такива работи на такива прощапулници, като мен се случват - за да се сблъскат с трудности, та да се понаучат  Какво ли не ми мина през акъла - като се започне от някаква настройка, ограничаваща консумацията, някакъв приоритет на портове, та до дефектен чип. Преобърнах няколко пъти дейта-шита, мернах нещо за LATA регистър, ама кой да се сети да пробва. След това експериментално едно по едно изключих останалите предположения, търсих и в мрежата по въпроса и накрая реших да питам тук. ....И за пореден път се убедих в това, че форумът е голяма работа 
|
| Сря Апр 15, 2015 11:46 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
 Re: Проблем с PIC12F1840
За какъв ефект става въпрос?
|
| Чет Апр 16, 2015 12:29 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Проблем с PIC12F1840
Физически пина да не се сетне за времето между две инструкции. В линка дето е даден е обяснено с картинки. Не че е невъзможно ама бая капацитет трябва за да се случи - нещо от порядъка на над 500pF - 1nF. Капацитета на пиновете по спомен беше нещо като 10-15pF. Освен ако няма закачен някой корав мосвет директно на тоя пин, друго какво може да го натовари така? Та на мен ми се е случвало ама чак при 64MHz и да има достатъчно голям капацитет на пина, че да не може да стигне 3 волта до следващата инструкция.
|
| Чет Апр 16, 2015 2:54 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
Обяснението от линка го разбрах, но не разбрах, защо примерно при 16F84 или 16F88 този ефект го няма. Или поне аз не съм го забелязал. А и обяснението с капацитивния характер на товара - ОК но в случая с 12F1840 с чисто активен товар и то далеч от товароспособността на изхода (1 mA) пак се проявява мизерията. 
|
| Чет Апр 16, 2015 8:35 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Проблем с PIC12F1840
При всички пикове го има (за 16 и 32 битовите не съм сигурен). Вече казах при какви условия лично аз съм го виждал това. Имам усещането, че при теб проблема е друг. Пусни .asm файла с неработещата програма да видим какво дъвче компилатора, щото проблема може и от там да е.
|
| Чет Апр 16, 2015 9:25 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
|
| Пет Апр 17, 2015 10:34 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Проблем с PIC12F1840
Хм. Нормално си е. Явно наистина си настъпал мотиката 
|
| Пет Апр 17, 2015 11:52 am |
|
 |
|
pechkov
Ранг: Напреднал
Регистриран на: Пет Фев 14, 2014 4:45 pm Мнения: 439 Местоположение: Монтана
|
 Re: Проблем с PIC12F1840
На мен нещо ми убягва. Как с промяна в програмата ще се променя капацитета на периферията?
_________________ Не карай по-бързо от своя ангел-пазител!
|
| Пет Апр 17, 2015 12:46 pm |
|
 |
|
lcr
Ранг: Форумен бог
Регистриран на: Пон Май 12, 2014 11:49 pm Мнения: 4394 Местоположение: София
|
 Re: Проблем с PIC12F1840
Обяснението с капацитивния товар вероятно не касае този случай. А и примерно със 16F88 и с RC товар на изход, на границата на товароносимостта му, такъв проблем не съм имал. Явно е това с мотиката  По-важното е това, че решението на мизерията е ясно.
|
| Пет Апр 17, 2015 1:21 pm |
|
|