| Предишната тема :: Следващата тема |
| Автор |
Съобщение |
emil74 Опитен потребител


Регистриран на: 16 Мар 2007 Мнения: 1111
|
Пуснато на: Пет Апр 27, 2007 21:10 Заглавие: ПРОГРАМА ЗА PIC ПРОЦЕСОР |
|
|
| Някой има ли сорс код как чрез интерфейс да запиша данни в таблица в пик процесора? Дали изобщо е възможно да се състави таблица от входящи външни данни? (Например 4 осембитови думи, разположени една под друга, но пристигащи отвън) |
|
| Върнете се в началото |
|
 |
Niakoi Опитен потребител

Регистриран на: 20 Авг 2006 Мнения: 356 Местожителство: Каръктаун
|
Пуснато на: Съб Апр 28, 2007 10:45 Заглавие: |
|
|
| Възможно е разбира се. Това ми прилича на някакво задание от училище!? Да ти напишем курсовата работа ли искаш? |
|
| Върнете се в началото |
|
 |
emil74 Опитен потребител


Регистриран на: 16 Мар 2007 Мнения: 1111
|
Пуснато на: Съб Апр 28, 2007 19:17 Заглавие: |
|
|
Извинявай, колега, но с това "74" в потребителското ми име на ученичка ли ти приличам?
Въпросът ми е част от нещо, което правя. Намерих някакъв друг начин да изпълня това, което искам, но ако имате някоя подпрограмка, можете да я изпратите-може да е по-лесен вашият начин. Иначе използвах алгоритъмче, за последователно извикване на поредица от промелнливи, на които през серийния порт задавам стойности.
Сега пък имам следния проблем: Трябва ми (под)програмка за приемане на данни по I2C, но контролерът да е SLAVE. Имам готова, но за MASTER... |
|
| Върнете се в началото |
|
 |
Niakoi Опитен потребител

Регистриран на: 20 Авг 2006 Мнения: 356 Местожителство: Каръктаун
|
Пуснато на: Съб Апр 28, 2007 20:43 Заглавие: |
|
|
| Добре... за кой пик и на какъв език (asm, C)? |
|
| Върнете се в началото |
|
 |
emil74 Опитен потребител


Регистриран на: 16 Мар 2007 Мнения: 1111
|
Пуснато на: Съб Апр 28, 2007 22:15 Заглавие: |
|
|
PIC16F84A - Aсемблер
Всъщност се сетих как да го постигна, но имам проблем с комуникацията, защото ми трябва процесорът да е SLAVE. За първи път трябва да използвам стандартна комуникация(досега съм го постигал с импулси 1-N) и имам неизвестен брой неизвестни...
По-точно: Не знам как да си следя шините, понеже тактовият импулс е отвън...
Симулацията ми е с друг процесор, но съм го програмата съм съставил пак аз и се плаша, че две грешки в комуникацията карат процесорите да се разбират. А като го закача на друго устройство, от което да чета... може да се получи ужас и срам...
Трябва ми ПОДОБЕН сорс.(Не за ужас и срам ) Аз ще си измъкна каквото трябва, ако мога. Поне досега ми е успявало-програмите са ми дооооста големи, но работят... |
|
| Върнете се в началото |
|
 |
Niakoi Опитен потребител

Регистриран на: 20 Авг 2006 Мнения: 356 Местожителство: Каръктаун
|
Пуснато на: Съб Апр 28, 2007 23:38 Заглавие: |
|
|
Добре, ама тази гимнастика за 84-ка си е жив мазохизъм. Аз одавна приключих с тоя пик (и по принцип с 16-та серия) - няма никаква периферия и е сравнително скъп. Не можеш ли да минеш на някои по-истински? 18-ка например, или 16-ка, ама със SSP модул! За такива имам какво да изровя.
Ако трябва да е с 84-ка, трябва да се мисли нещо с външното прекъсване... |
|
| Върнете се в началото |
|
 |
emil74 Опитен потребител


Регистриран на: 16 Мар 2007 Мнения: 1111
|
Пуснато на: Нед Апр 29, 2007 12:27 Заглавие: |
|
|
Засега не мога да премина на друг процесор. Алгоритъмът е част от цяла система и ще ми е много трудно да се нагаждам, като не познавам новия процесор...
Има още един, още по-неприятен момент: PORTB ми трябва изцяло свободен... И за SCL i SDA съм определил A0 и A1. А използвам и останалите три порта на А. Значи ми отпада външното прекъсване... Ориентирал съм се към подпрограма за следене състоянието на А0 и А1 (цикъл). Е, сега не ми е ясно какво да използвам, за да проверя едновременно САМО двата бита на А, като се знае, че останалите три са също входове и не мога да прогнозирам в момента на проверката какво ще е текущото състояние. Т.е. поне за мен единствено известното сравняване на порта с определено число е неприложимо.
С други думи, трябват ми сорсове за подпрограмi за разпознаване на "СТАРТ" и "СТОП" по магистралата, но в режим SLAVE. |
|
| Върнете се в началото |
|
 |
Niakoi Опитен потребител

Регистриран на: 20 Авг 2006 Мнения: 356 Местожителство: Каръктаун
|
Пуснато на: Нед Апр 29, 2007 17:28 Заглавие: |
|
|
loop:
movlw 0x03
andwf PORTA,w
btfss STATUS,Z
goto loop
action:
Така можеш да си следиш A0 и A1 едновремменно и ако и двата с "0" да продължиш с обработката, но това ти заема цялото програмно време на прцесора и нищо друго не можеш да правиш. |
|
| Върнете се в началото |
|
 |
emil74 Опитен потребител


Регистриран на: 16 Мар 2007 Мнения: 1111
|
Пуснато на: Нед Апр 29, 2007 18:55 Заглавие: |
|
|
| Niakoi написа: | loop:
movlw 0x03
andwf PORTA,w
btfss STATUS,Z
goto loop
action: |
Каква е ролята на 0x03? Какво означава? И няма ли да може ако и двете са 1, да се продължи с основната програма и чак след нея да се направи проверка?... Не... Най-вероятно ще се прескочи сигнал... |
|
| Върнете се в началото |
|
 |
Niakoi Опитен потребител

Регистриран на: 20 Авг 2006 Мнения: 356 Местожителство: Каръктаун
|
Пуснато на: Нед Апр 29, 2007 19:40 Заглавие: |
|
|
Аааа, сети се
В случая, се опитваш да превземеш охранявана крепост въоръжен с прашка... Разкарай го тоя смотан пик - сложи друг, както ти препоръчах по-горе! |
|
| Върнете се в началото |
|
 |
|