|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 12:40 pm
| Автор |
Съобщение |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
 въпрос за port b
мъча се да пиша програми на CCS и искам да направя бягаща всетлиина с 16ф84а, но не знам как да дадинирам port b, в смисъм, искам да завъртя съдържанието му например надясно с функцията rotate_roght(?, ?) - та въпросът ми е какво трябва да се напише на "?, ?". написах го така rotate_right(port_b,  , но ми изкарва undefined identifier port_b. това ме води на мисълта, че трябва да до дефинирам преди това. ето го целия ми код
#include<16f84a.h>
#use delay(clock=4000000)
main() {
set_tris_b(0x00);
output_high(PIN_B0);
while(TRUE) {
rotate_right(port_b,  ;
}
}
може би имам грешка някъде. може ли да ми помогнете?
|
| Чет Дек 30, 2004 10:01 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Виж как е дефиниран в 16f84a.h. И сложи някъкво закъснение след това rotate, щото трудно ще видиш как бягат светлините.
|
| Чет Дек 30, 2004 10:05 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
гледах, пак гледах, не виждам да е написано някъде. пробвах с portb, port_b, port b, ама никое не става. ти как би го направил. сигурен съм че го знаеш, но се правиш на разсеян.
|
| Чет Дек 30, 2004 11:10 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Не се правя на разсеян, предполагам (не съм ползвал тоя компилатор), че трябва да е дефиниран в h файла. Ако не е - си го дифенирай, или пък във функцията му напиши адреса направо (ако не се лъжа 0x06).
|
| Чет Дек 30, 2004 11:30 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Във дефинициите на програмата добави следното:
. Оттук нататък всяка стойност която даваш на port_b ще се записва директно във регистър 0x06 (това е физическия адрес на port B)... Примерно:
Инструкциите rotate_left/rotate_right имат следния синтаксис:
.
Така де, ' address is a pointer to memory' го пише в хелпа на CCS-а...това значи че там трябва да поставиш показател към адрес (т.е 0x06, или както вече е дефинирано "port_b")... Това е начина....А ако искаш по-лесно и бързо да научиш CCS-а ти препоръчвам да си изтеглиш plug-in-а за MPLAB, за да можеш да симулираш работата на контролера докато си пишеш...Аз така почнах, щото имах проблеми.....той CCS-а понякога не прави това което трябва....
|
| Пет Дек 31, 2004 1:14 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
rotate_left(address, bytes) - на мястото на bytes какво трабва да напиша, защото ми искарва някаква грешка. пробвах с 0, 1 ,8, ама не става. можеш ли да ми обясниш малко по-подробно. то се видяло че от мен програмист няма да стане, но поне искам да имам обща представа. от къде може да си изтегля plug-in-а за MPLAB. аз MPLAB я имам. версията и е 6.20, нали ще ми свърши работа? ако може дай линк към plug-in-а. а как да дефинирам portA. какъв му е адресът?
|
| Пет Дек 31, 2004 2:30 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Трябва да е колко пъти искаш да въртиш в съответната посока, т.е. при 1 - RB0 отива на RB1 или RB7 в зависимост от посоката, при 2 - на RB2 или RB6 и т.н.
|
| Пет Дек 31, 2004 2:39 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Простичко: rotate_left(port_b,x) - завърта port_b 1-път на ляво в рамките на x байта.....Трудно ми е точно в момента да го обясня (31 декември е  )...Напиши 1 там, пък догодина ще ти обясним...просто е повервай...Ако питаш мене - остави тая работа и заминавай да празнуваш...
|
| Пет Дек 31, 2004 2:44 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
а може ли да ми дадеш само едно линк-че към plug-in-а за MPLAB 6.20, дето стана на дума по-горе, че имам доста свободен трафик, а днес е последният ден от месеца, а съм си платил вече интернета и не искам да си губя байтовете. и какъв е адреса на porbA? само това искам. мерси!
|
| Пет Дек 31, 2004 3:36 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
0x05. Ти Acrobat Reader знаеш ли случайно какво е  ?
|
| Пет Дек 31, 2004 3:41 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
в смисъл? знам какво е. защо?
|
| Пет Дек 31, 2004 4:02 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Ами изтегли и прочети pdf-а за съответниа процесор, ам си пие всичко относно адреси ..... и разни други неща които е задължително да знаеш за да работиш с микроконтролера
|
| Пет Дек 31, 2004 4:24 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
аз го имам datasheet-а, но се чудех какви са тези адреси. е, вече знам. информацията ви ми беше много полезна. благодаря!
|
| Пет Дек 31, 2004 4:52 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
аз вече plug-in си изтеглих, но след като го инсталирах и направих отметката на mlpab-а за ccs какво трабва да направя, за да мога да го ползвам. малко не мога да се оправям с тези програми, така че ако някой може да ми помогне, няма да е зле. благодаря!
|
| Съб Яну 01, 2005 8:15 pm |
|
 |
|
Mozfet
Ранг: Ориентиран
Регистриран на: Съб Сеп 25, 2004 4:33 pm Мнения: 273 Местоположение: София
|
Електрончика, ще ти кажа, че CCS не е кой знае колко, удобен за работа компилатор. Ок мощен е, но повечето му екстри просто не се ползват. В някои отношения ми се вижда недодялан.
Много по-удобен за работа е mikroPascal. Безплатната версия компилира до 2 KB HEX, което ще ти е достатъчно според мен. Там няма да ти се налага да пишеш излишни редове като:
#byte PortB = 0x06;
защото компилатора много добре си знае какво е PortB.
_________________ Adios
Mozfet
|
| Нед Яну 02, 2005 9:47 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|