реклама на сайте
подробности

 
 
> AT91SAM7S не успевает читать данные с PIO!?, Кричу о помощи!!!!!
DAPA
сообщение Aug 11 2011, 12:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 4-03-09
Пользователь №: 45 664



Есть AT91SAM7S256 на один пин поступает сигнал синхронизации, по которому с нужно считать с других пинов в память данные(параллельная шина), но как ни крути больше в цикле считывания не удаётся, даже, инкрементировать переменную больше 100 раз, вместо положенных 256!!!
Вот фрагмент отвечающего за эото кода:
Код
uint16_t MAS_DAT[LENTH];
...
__inline void Get_Data(void) {
    volatile uint16_t *poi = (uint16_t*) MAS_DAT;
    volatile uint16_t i = 0, l = 0;
    uint32_t tmp1,tmp2;
    while (pPIO->PIO_PDSR & VSYNC) {
        i = 0;
        while (pPIO->PIO_PDSR & HSYNC) {
            //i++;
            //while(pPIO->PIO_PDSR&(1<<30));//CLK
            tmp1 = (pPIO->PIO_PDSR>>5);
            tmp2 = (pPIO->PIO_PDSR>>5);
             *poi = (uint16_t)(tmp2<<8)|tmp1;
             poi++;
        }
        //asm("add %[value], %[value],#1" : [value] "=r" (l));
        l++;
        while (!(pPIO->PIO_PDSR & HSYNC) && (pPIO->PIO_PDSR & VSYNC));
    }
    poi = (uint16_t*)MAS_DAT;
    *poi = i;
    poi++;
    *poi = l;
}

smile3046.gif 1111493779.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016