PRS позволяет периферийным устройствам общаться друг с другом, без участия процессора, даже когда он находится в состоянии сна. В качестве сигнала используется передача уровня или импульса (level or pulse).
Producers, consumers and channels (Источники, приемники и каналы)
Перефирийные устройства, которые создают сигналы называют источниками (produsers), а принимающие их приемниками (consumers). PRS для EFM32 в зависимости от серии содержит до 12 каналов для передачи сигналов, каждый из которых может быть подключен к любому источнику и к любому приемнику. Некоторые приемники способны принимать уровень сигнала, но большинство реагирует только на фронт имрульсного сигнала. Канал можно сконфигурировать с помощью emlib функции
void PRS_SourceSignalSet(unsigned int ch, uint32_t source, uint32_t signal, PRS_Edge_TypeDef edge)
/***************************************************************************//**
* @brief
* Set source and signal to be used for a channel.
*
* @param[in] ch
* Channel to define signal and source for.
*
* @param[in] source
* Source to select for channel. Use one of PRS_CH_CTRL_SOURCESEL_x defines.
*
* @param[in] signal
* Signal (for selected @p source) to use. Use one of PRS_CH_CTRL_SIGSEL_x
* defines.
*
* @param[in] edge
* Edge (for selected source/signal) to generate pulse for.
******************************************************************************/
void PRS_SourceSignalSet(unsigned int ch,
uint32_t source,
uint32_t signal,
PRS_Edge_TypeDef edge)
Эта функция задает PRS каналы по которым будут передавться сигналы между периферийными устройствами. Сигналы можно генерировать и программно с помощью регистров PRS_SWPULSE и PRS_SWLEVEL.
Producers, consumers and channels (Источники, приемники и каналы)
Перефирийные устройства, которые создают сигналы называют источниками (produsers), а принимающие их приемниками (consumers). PRS для EFM32 в зависимости от серии содержит до 12 каналов для передачи сигналов, каждый из которых может быть подключен к любому источнику и к любому приемнику. Некоторые приемники способны принимать уровень сигнала, но большинство реагирует только на фронт имрульсного сигнала. Канал можно сконфигурировать с помощью emlib функции
void PRS_SourceSignalSet(unsigned int ch, uint32_t source, uint32_t signal, PRS_Edge_TypeDef edge)
/***************************************************************************//**
* @brief
* Set source and signal to be used for a channel.
*
* @param[in] ch
* Channel to define signal and source for.
*
* @param[in] source
* Source to select for channel. Use one of PRS_CH_CTRL_SOURCESEL_x defines.
*
* @param[in] signal
* Signal (for selected @p source) to use. Use one of PRS_CH_CTRL_SIGSEL_x
* defines.
*
* @param[in] edge
* Edge (for selected source/signal) to generate pulse for.
******************************************************************************/
void PRS_SourceSignalSet(unsigned int ch,
uint32_t source,
uint32_t signal,
PRS_Edge_TypeDef edge)
Эта функция задает PRS каналы по которым будут передавться сигналы между периферийными устройствами. Сигналы можно генерировать и программно с помощью регистров PRS_SWPULSE и PRS_SWLEVEL.
Комментариев нет:
Отправить комментарий