Отговори на тема  [ 5 мнения ] 
Проблем с порта на PIC 
Автор Съобщение
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Нед Сеп 17, 2006 12:00 pm
Мнения: 450
Местоположение: Plovdiv
Мнение Проблем с порта на PIC
Здравейте,
няколко дни си загубих с тия пикове, използвам 18ф628А, искам да чета порта като нормален регистър (нали е уж така), само че започваше да прави странни неща, а за нещо вярно прочетено да не говорим. Сега проверявам бит по бит и няма проблеми. Сигурно и други са се сблъсквали с този проблем, споделете каква би могла да е причината?


Нед Юли 15, 2007 12:38 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Юни 29, 2007 10:59 pm
Мнения: 113
Мнение Re: Проблем с порта на PIC
MidNighT_SpiRiT написа:
Здравейте,
няколко дни си загубих с тия пикове, използвам 18ф628А, искам да чета порта като нормален регистър (нали е уж така), само че започваше да прави странни неща, а за нещо вярно прочетено да не говорим. Сега проверявам бит по бит и няма проблеми. Сигурно и други са се сблъсквали с този проблем, споделете каква би могла да е причината?


Да не би да става дума за PIC16F628A, защото 18-ка такава не успях да открия. Ако е 16 гледам че има 2 порта А и Б, но при А, тъй като е мултиплексиран с компараторния модул трябва да има изрична инициализация за ползване на порта като нормални цифрови I/O, тъй като по подразбиране след reset този порт се инициализира към компараторния модул(дано да не греша). Ако не е причината това, пусни част от програмата поне с инициализацията и четенето на порта за да я разгледаме.


Нед Юли 15, 2007 2:05 pm
Профил ICQ
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Нед Сеп 17, 2006 12:00 pm
Мнения: 450
Местоположение: Plovdiv
Мнение 
Да, пикът е 16ф628А. За порт А знам, че трябва да се инициализира като цифров в началото, но проблемът е с порт Б. За него инициализацията е само да задам входове и изходи и друго няма. Той е цифров по подразбиране. Входове - RB0,RB4-RB7, останалите RB1-RB3 са изходи в началото - има матрична клавиатура, която се чете (тогава няма проблеми, защото чета отделните битове). След това ги променям на изходи всички(към RB4-RB7 освен редовете на клавиатурата има свързан DTMF декодер), когато декодерът вдигне RB0 с RA6 разрешавам изходните му буфери и трябва да прочета 4-ри битовата дума с RB4-RB7. Копирам направо с:
movf PORTB,w
movwf ReceiveNumber
swapf ReceiveNumber
...
Интереснтото е, че на симулацията се чете, а тук не иска. Спазил съм времената иначе за изчакване на сигнала от декодера.


Нед Юли 15, 2007 4:19 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Юни 29, 2007 10:59 pm
Мнения: 113
Мнение 
MidNighT_SpiRiT написа:
Да, пикът е 16ф628А. За порт А знам, че трябва да се инициализира като цифров в началото, но проблемът е с порт Б. За него инициализацията е само да задам входове и изходи и друго няма. Той е цифров по подразбиране. Входове - RB0,RB4-RB7, останалите RB1-RB3 са изходи в началото - има матрична клавиатура, която се чете (тогава няма проблеми, защото чета отделните битове). След това ги променям на изходи всички(към RB4-RB7 освен редовете на клавиатурата има свързан DTMF декодер), когато декодерът вдигне RB0 с RA6 разрешавам изходните му буфери и трябва да прочета 4-ри битовата дума с RB4-RB7. Копирам направо с:
movf PORTB,w
movwf ReceiveNumber
swapf ReceiveNumber
...
Интереснтото е, че на симулацията се чете, а тук не иска. Спазил съм времената иначе за изчакване на сигнала от декодера.


Само за пробата, можеш ли да промениш малко четенето. Например:
swapf PORTB,w
movwf ReceiveNumber

Надявам се, че нямаш проблеми с банките.


Нед Юли 15, 2007 7:06 pm
Профил ICQ
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Нед Сеп 17, 2006 12:00 pm
Мнения: 450
Местоположение: Plovdiv
Мнение 
Да, да банките ги следа. Това не съм се сетил да го пробвам, утре ще го направя,мерси.


Нед Юли 15, 2007 10:55 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 5 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 0 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни