vjcro
Регистриран на: 14-ти март 2009 год. Мнения: 2
| 28-ми юни 2009 9:56 GPIO съобщават за серийно устройство | | |
|
| Привет,
Аз съм съвсем нов в програмирането микроконтролери. Чудех се, дали искам да се направи "часовник" на GPIO, какво ще бъде това е максималната скорост? Предполагам, че - ако сложа, например: RB1 = 1, след това RB1 = 0 в цикъл, ставката часовник ще бъде два пъти по време на времето за изпълнение на използваните инструкции. Прав ли съм?
Това, което бих искал да направите, е да постигне собствените си прост серийна комуникация с FPGA. В UC ще генерира сериен часовник на една игла и FPGA ще изпрати на бита на данни за закрепване. Още един въпрос относно това: има ли граница за поредния курс часовник в този вид комуникация?
Бих се радвал от помощ! Благодаря Ви предварително. |
|
doraemon
Регистриран на: 21-ви юни, 2009 Мнения: 135 Подпомогнат: 16 Местоположение: Япония
| 28-ми юни 2009 12:53 сериен часовник курс | | |
|
| Привет!
Основно това, което искате да направите, е малко чука. В този случай, може да се помисли да имат стандарт като предаване SPI. Ако изпратите часовник, за да си FPGA и да ни най-малко на часовник, а след това тя е точно това, което е SPI. Но тя ще ви отведе допреди няколко стъпки за всеки парче.
Ако си предават един байт подобно (в псевдо код): Това предполага, че ни най-малко идва относно повишаване на ръба на часовника.
| Код: | Const Чар BIT [] = ( 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 )
uint8 receive_byte (Void) ( uint8 I; uint8 retval = 0; за (I = 0; I <8; I) ( set_clock_bit_low (); set_clock_bit_high (); get_data_bit (); IF (data_bit) ret_val | = BIT [I]; ) връщане retval; ) |
Така че, както виждате, това ще отнеме повече от два пъти инструкциите, за да определят и нулиране на пристанище, за да получите някои полезни данни.
Дора.
| vjcro написа: | Привет,
Аз съм съвсем нов в програмирането микроконтролери. Чудех се, дали искам да се направи "часовник" на GPIO, какво ще бъде това е максималната скорост? Предполагам, че - ако сложа, например: RB1 = 1, след това RB1 = 0 в цикъл, ставката часовник ще бъде два пъти по време на времето за изпълнение на използваните инструкции. Прав ли съм?
Това, което бих искал да направите, е да постигне собствените си прост серийна комуникация с FPGA. В UC ще генерира сериен часовник на една игла и FPGA ще изпрати на бита на данни за закрепване. Още един въпрос относно това: има ли граница за поредния курс часовник в този вид комуникация?
Бих се радвал от помощ! Благодаря Ви предварително. |
|
|