Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Размер регистра данных SSP lpc23xx
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
SmileGobo
У этой переферии два буффера по слов 8(16 битных), регистр данных тоже 16 битный, что происходит если я пишу туда только байтами пример из кейла:
Код
void SSP0Send( BYTE *buf, DWORD Length )
{
    DWORD i;
    for ( i = 0; i < Length; i++ )
    {
        /* as long as TNF bit is set (TxFIFO is not full), I can always transmit */
        while ( !(SSP0SR & SSPSR_TNF) );
        SSP0DR = *buf;
        buf++;
        /* Wait until the Busy bit is cleared */
        while ( !(SSP0SR & SSPSR_BSY) );
    }
    return;
}

main(){
BYTE buf[8]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
SSP0Send(buf,8);
}

У меня буффер на передачу будет забит таким образом:

Код
0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0,0xFF,0


или я не так что-то понимаю?
yashok
Все зависит от размера данных, который указывается в SSPn Control Register 0.
Какой размер там указан - столько и передастся (от младшего бита).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.