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

 
 
> Инициализация скорости SPI
Oleg_IT
сообщение Dec 21 2009, 13:37
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Разбираюсь в работе МК.
В примере, привёл ниже, даны следующие две функции. Не понятно, почему скорость SPI инициализируется нулём? В примечании написано

UxBRx Биты 7-0 Генератор скорости передачи использует содержимое {UxBR1+UxBR0} для установки скорости передачи. Наименьший коэффициент деления равен двум.
Больше в коде ни где нет обращения к регистрам UCB1BR0 и UCB1BR1.

Код
/********************************************************************************
***
* @fn          halRadioSpiInit
*
* @brief       Initalise Radio SPI interface
*
* @param       none
*
* @return      none
*/
static void halRadioSpiInit(uint32 divider)
{
    UCB1CTL1 |= UCSWRST;                          // Put state machine in reset
    UCB1BR0 = LO_UINT32(divider);
    UCB1BR1 = HI_UINT32(divider);
    P5DIR |= 0x01;
    P5SEL |= 0x0E;                               // P7.3,2,1 peripheral select (mux to ACSI_A0)
    UCB1CTL1 = UCSSEL0 | UCSSEL1;                // Select SMCLK
    UCB1CTL0 |= UCCKPH | UCSYNC | UCMSB | UCMST; // 3-pin, 8-bit SPI master, rising edge capture
    UCB1CTL1 &= ~UCSWRST;                        // Initialize USCI state machine
}

……………………………

/********************************************************************************
***
* @fn      halAssyInit
*
* @brief   Initialize interfaces between radio and MCU
*
* @param   none
*
* @return  none
*/
void halAssyInit(void)
{
    halRadioSpiInit(0);
    halMcuRfInterfaceInit();
#ifndef MRFI_CC2520
    halDigioConfig(&pinRadio_GPIO0);
#endif
}
Go to the top of the page
 
+Quote Post



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

 


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


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