git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7648 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2015-01-31 12:15:14 +00:00
parent ed849dc86e
commit 2179d63cbf
1 changed files with 13 additions and 8 deletions

View File

@ -215,27 +215,32 @@ typedef struct {
#define RXCOUNT_COUNT_MASK 0x03FF #define RXCOUNT_COUNT_MASK 0x03FF
#define TXCOUNT_COUNT_MASK 0x03FF #define TXCOUNT_COUNT_MASK 0x03FF
#define EPR_CTR_MASK (EPR_CTR_TX | EPR_CTR_RX)
#define EPR_SET(ep, epr) \ #define EPR_SET(ep, epr) \
STM32_USB->EPR[ep] = (epr) & ~EPR_TOGGLE_MASK STM32_USB->EPR[ep] = ((epr) & ~EPR_TOGGLE_MASK) | EPR_CTR_MASK
#define EPR_TOGGLE(ep, epr) \ #define EPR_TOGGLE(ep, epr) \
STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] ^ ((epr) & EPR_TOGGLE_MASK)) STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] ^ ((epr) & EPR_TOGGLE_MASK)) \
| EPR_CTR_MASK
#define EPR_SET_STAT_RX(ep, epr) \ #define EPR_SET_STAT_RX(ep, epr) \
STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] & \ STM32_USB->EPR[ep] = ((STM32_USB->EPR[ep] & \
~(EPR_TOGGLE_MASK & ~EPR_STAT_RX_MASK)) ^ \ ~(EPR_TOGGLE_MASK & ~EPR_STAT_RX_MASK)) ^ \
(epr) (epr)) | EPR_CTR_MASK
#define EPR_SET_STAT_TX(ep, epr) \ #define EPR_SET_STAT_TX(ep, epr) \
STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] & \ STM32_USB->EPR[ep] = ((STM32_USB->EPR[ep] & \
~(EPR_TOGGLE_MASK & ~EPR_STAT_TX_MASK)) ^ \ ~(EPR_TOGGLE_MASK & ~EPR_STAT_TX_MASK)) ^ \
(epr) (epr)) | EPR_CTR_MASK
#define EPR_CLEAR_CTR_RX(ep) \ #define EPR_CLEAR_CTR_RX(ep) \
STM32_USB->EPR[ep] &= ~EPR_CTR_RX & ~EPR_TOGGLE_MASK STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] & ~EPR_CTR_RX & ~EPR_TOGGLE_MASK)\
| EPR_CTR_TX
#define EPR_CLEAR_CTR_TX(ep) \ #define EPR_CLEAR_CTR_TX(ep) \
STM32_USB->EPR[ep] &= ~EPR_CTR_TX & ~EPR_TOGGLE_MASK STM32_USB->EPR[ep] = (STM32_USB->EPR[ep] & ~EPR_CTR_TX & ~EPR_TOGGLE_MASK)\
| EPR_CTR_RX
/** /**
* @brief Returns an endpoint descriptor pointer. * @brief Returns an endpoint descriptor pointer.