本文整理汇总了C++中osalSysLock函数的典型用法代码示例。如果您正苦于以下问题:C++ osalSysLock函数的具体用法?C++ osalSysLock怎么用?C++ osalSysLock使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了osalSysLock函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: sdStart
/**
* @brief Configures and starts the driver.
*
* @param[in] sdp pointer to a @p SerialDriver object
* @param[in] config the architecture-dependent serial driver configuration.
* If this parameter is set to @p NULL then a default
* configuration is used.
*
* @api
*/
void sdStart(SerialDriver *sdp, const SerialConfig *config) {
osalDbgCheck(sdp != NULL);
osalSysLock();
osalDbgAssert((sdp->state == SD_STOP) || (sdp->state == SD_READY),
"invalid state");
sd_lld_start(sdp, config);
sdp->state = SD_READY;
osalSysUnlock();
}
开发者ID:SVentas,项目名称:SmartMDC,代码行数:21,代码来源:serial.c
示例2: extStop
/**
* @brief Deactivates the EXT peripheral.
*
* @param[in] extp pointer to the @p EXTDriver object
*
* @api
*/
void extStop(EXTDriver *extp) {
osalDbgCheck(extp != NULL);
osalSysLock();
osalDbgAssert((extp->state == EXT_STOP) || (extp->state == EXT_ACTIVE),
"invalid state");
ext_lld_stop(extp);
extp->state = EXT_STOP;
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:18,代码来源:hal_ext.c
示例3: macStop
/**
* @brief Deactivates the MAC peripheral.
*
* @param[in] macp pointer to the @p MACDriver object
*
* @api
*/
void macStop(MACDriver *macp) {
osalDbgCheck(macp != NULL);
osalSysLock();
osalDbgAssert((macp->state == MAC_STOP) || (macp->state == MAC_ACTIVE),
"invalid state");
mac_lld_stop(macp);
macp->state = MAC_STOP;
osalSysUnlock();
}
开发者ID:ThomasKurz,项目名称:ChibiOS-RT,代码行数:18,代码来源:mac.c
示例4: pwmEnableChannel
/**
* @brief Enables a PWM channel.
* @pre The PWM unit must have been activated using @p pwmStart().
* @post The channel is active using the specified configuration.
* @note Depending on the hardware implementation this function has
* effect starting on the next cycle (recommended implementation)
* or immediately (fallback implementation).
*
* @param[in] pwmp pointer to a @p PWMDriver object
* @param[in] channel PWM channel identifier (0...PWM_CHANNELS-1)
* @param[in] width PWM pulse width as clock pulses number
*
* @api
*/
void pwmEnableChannel(PWMDriver *pwmp,
pwmchannel_t channel,
pwmcnt_t width) {
osalDbgCheck((pwmp != NULL) && (channel < PWM_CHANNELS));
osalSysLock();
osalDbgAssert(pwmp->state == PWM_READY, "not ready");
pwm_lld_enable_channel(pwmp, channel, width);
osalSysUnlock();
}
开发者ID:TheShed,项目名称:ChibiOS,代码行数:25,代码来源:pwm.c
示例5: pwmStop
/**
* @brief Deactivates the PWM peripheral.
*
* @param[in] pwmp pointer to a @p PWMDriver object
*
* @api
*/
void pwmStop(PWMDriver *pwmp) {
osalDbgCheck(pwmp != NULL);
osalSysLock();
osalDbgAssert((pwmp->state == PWM_STOP) || (pwmp->state == PWM_READY),
"invalid state");
pwm_lld_stop(pwmp);
pwmp->state = PWM_STOP;
osalSysUnlock();
}
开发者ID:TheShed,项目名称:ChibiOS,代码行数:18,代码来源:pwm.c
示例6: i2cStop
/**
* @brief Deactivates the I2C peripheral.
*
* @param[in] i2cp pointer to the @p I2CDriver object
*
* @api
*/
void i2cStop(I2CDriver *i2cp) {
osalDbgCheck(i2cp != NULL);
osalDbgAssert((i2cp->state == I2C_STOP) || (i2cp->state == I2C_READY) ||
(i2cp->state == I2C_LOCKED), "invalid state");
osalSysLock();
i2c_lld_stop(i2cp);
i2cp->state = I2C_STOP;
osalSysUnlock();
}
开发者ID:Babody,项目名称:ChibiOS,代码行数:18,代码来源:hal_i2c.c
示例7: i2cStart
/**
* @brief Configures and activates the I2C peripheral.
*
* @param[in] i2cp pointer to the @p I2CDriver object
* @param[in] config pointer to the @p I2CConfig object
*
* @api
*/
void i2cStart(I2CDriver *i2cp, const I2CConfig *config) {
osalDbgCheck((i2cp != NULL) && (config != NULL));
osalDbgAssert((i2cp->state == I2C_STOP) || (i2cp->state == I2C_READY) ||
(i2cp->state == I2C_LOCKED), "invalid state");
osalSysLock();
i2cp->config = config;
i2c_lld_start(i2cp);
i2cp->state = I2C_READY;
osalSysUnlock();
}
开发者ID:rusefi,项目名称:ChibiOS,代码行数:20,代码来源:hal_i2c.c
示例8: pwmDisableChannel
/**
* @brief Disables a PWM channel and its notification.
* @pre The PWM unit must have been activated using @p pwmStart().
* @post The channel is disabled and its output line returned to the
* idle state.
* @note Depending on the hardware implementation this function has
* effect starting on the next cycle (recommended implementation)
* or immediately (fallback implementation).
*
* @param[in] pwmp pointer to a @p PWMDriver object
* @param[in] channel PWM channel identifier (0...channels-1)
*
* @api
*/
void pwmDisableChannel(PWMDriver *pwmp, pwmchannel_t channel) {
osalDbgCheck((pwmp != NULL) && (channel < pwmp->channels));
osalSysLock();
osalDbgAssert(pwmp->state == PWM_READY, "not ready");
pwmDisableChannelI(pwmp, channel);
osalSysUnlock();
}
开发者ID:hmchen1,项目名称:ChibiOS,代码行数:26,代码来源:pwm.c
示例9: icuStart
/**
* @brief Configures and activates the ICU peripheral.
*
* @param[in] icup pointer to the @p ICUDriver object
* @param[in] config pointer to the @p ICUConfig object
*
* @api
*/
void icuStart(ICUDriver *icup, const ICUConfig *config) {
osalDbgCheck((icup != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((icup->state == ICU_STOP) || (icup->state == ICU_READY),
"invalid state");
icup->config = config;
icu_lld_start(icup);
icup->state = ICU_READY;
osalSysUnlock();
}
开发者ID:SVentas,项目名称:SmartMDC,代码行数:20,代码来源:icu.c
示例10: extStart
/**
* @brief Configures and activates the EXT peripheral.
* @post After activation all EXT channels are in the disabled state,
* use @p extChannelEnable() in order to activate them.
*
* @param[in] extp pointer to the @p EXTDriver object
* @param[in] config pointer to the @p EXTConfig object
*
* @api
*/
void extStart(EXTDriver *extp, const EXTConfig *config) {
osalDbgCheck((extp != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((extp->state == EXT_STOP) || (extp->state == EXT_ACTIVE),
"invalid state");
extp->config = config;
ext_lld_start(extp);
extp->state = EXT_ACTIVE;
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:22,代码来源:hal_ext.c
示例11: extChannelDisable
/**
* @brief Disables an EXT channel.
* @pre The channel must not be in @p EXT_CH_MODE_DISABLED mode.
*
* @param[in] extp pointer to the @p EXTDriver object
* @param[in] channel channel to be disabled
*
* @api
*/
void extChannelDisable(EXTDriver *extp, expchannel_t channel) {
osalDbgCheck((extp != NULL) && (channel < (expchannel_t)EXT_MAX_CHANNELS));
osalSysLock();
osalDbgAssert((extp->state == EXT_ACTIVE) &&
((extp->config->channels[channel].mode &
EXT_CH_MODE_EDGES_MASK) != EXT_CH_MODE_DISABLED),
"invalid state");
extChannelDisableI(extp, channel);
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:21,代码来源:hal_ext.c
示例12: wdgStart
/**
* @brief Configures and activates the WDG peripheral.
*
* @param[in] wdgp pointer to the @p WDGDriver object
* @param[in] config pointer to the @p WDGConfig object
*
* @api
*/
void wdgStart(WDGDriver *wdgp, const WDGConfig *config) {
osalDbgCheck((wdgp != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((wdgp->state == WDG_STOP) || (wdgp->state == WDG_READY),
"invalid state");
wdgp->config = config;
wdg_lld_start(wdgp);
wdgp->state = WDG_READY;
osalSysUnlock();
}
开发者ID:akerlund,项目名称:DSP_system,代码行数:20,代码来源:wdg.c
示例13: spiStart
/**
* @brief Configures and activates the SPI peripheral.
*
* @param[in] spip pointer to the @p SPIDriver object
* @param[in] config pointer to the @p SPIConfig object
*
* @api
*/
void spiStart(SPIDriver *spip, const SPIConfig *config) {
osalDbgCheck((spip != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((spip->state == SPI_STOP) || (spip->state == SPI_READY),
"invalid state");
spip->config = config;
spi_lld_start(spip);
spip->state = SPI_READY;
osalSysUnlock();
}
开发者ID:KTannenberg,项目名称:ChibiOS,代码行数:20,代码来源:hal_spi.c
示例14: uartStartSend
/**
* @brief Starts a transmission on the UART peripheral.
* @note The buffers are organized as uint8_t arrays for data sizes below
* or equal to 8 bits else it is organized as uint16_t arrays.
*
* @param[in] uartp pointer to the @p UARTDriver object
* @param[in] n number of data frames to send
* @param[in] txbuf the pointer to the transmit buffer
*
* @api
*/
void uartStartSend(UARTDriver *uartp, size_t n, const void *txbuf) {
osalDbgCheck((uartp != NULL) && (n > 0U) && (txbuf != NULL));
osalSysLock();
osalDbgAssert(uartp->state == UART_READY, "is active");
osalDbgAssert(uartp->txstate != UART_TX_ACTIVE, "tx active");
uart_lld_start_send(uartp, n, txbuf);
uartp->txstate = UART_TX_ACTIVE;
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:23,代码来源:hal_uart.c
示例15: usbStop
/**
* @brief Deactivates the USB peripheral.
*
* @param[in] usbp pointer to the @p USBDriver object
*
* @api
*/
void usbStop(USBDriver *usbp) {
osalDbgCheck(usbp != NULL);
osalSysLock();
osalDbgAssert((usbp->state == USB_STOP) || (usbp->state == USB_READY) ||
(usbp->state == USB_SELECTED) || (usbp->state == USB_ACTIVE),
"invalid state");
usb_lld_stop(usbp);
usbp->state = USB_STOP;
osalSysUnlock();
}
开发者ID:hmchen1,项目名称:ChibiOS,代码行数:19,代码来源:usb.c
示例16: uartStartReceive
/**
* @brief Starts a receive operation on the UART peripheral.
* @note The buffers are organized as uint8_t arrays for data sizes below
* or equal to 8 bits else it is organized as uint16_t arrays.
*
* @param[in] uartp pointer to the @p UARTDriver object
* @param[in] n number of data frames to receive
* @param[in] rxbuf the pointer to the receive buffer
*
* @api
*/
void uartStartReceive(UARTDriver *uartp, size_t n, void *rxbuf) {
osalDbgCheck((uartp != NULL) && (n > 0U) && (rxbuf != NULL));
osalSysLock();
osalDbgAssert(uartp->state == UART_READY, "is active");
osalDbgAssert(uartp->rxstate != UART_RX_ACTIVE, "rx active");
uart_lld_start_receive(uartp, n, rxbuf);
uartp->rxstate = UART_RX_ACTIVE;
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:23,代码来源:hal_uart.c
示例17: gptStart
/**
* @brief Configures and activates the GPT peripheral.
*
* @param[in] gptp pointer to the @p GPTDriver object
* @param[in] config pointer to the @p GPTConfig object
*
* @api
*/
void gptStart(GPTDriver *gptp, const GPTConfig *config) {
osalDbgCheck((gptp != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((gptp->state == GPT_STOP) || (gptp->state == GPT_READY),
"invalid state");
gptp->config = config;
gpt_lld_start(gptp);
gptp->state = GPT_READY;
osalSysUnlock();
}
开发者ID:AlexShiLucky,项目名称:ChibiOS,代码行数:20,代码来源:hal_gpt.c
示例18: adcStart
/**
* @brief Configures and activates the ADC peripheral.
*
* @param[in] adcp pointer to the @p ADCDriver object
* @param[in] config pointer to the @p ADCConfig object. Depending on
* the implementation the value can be @p NULL.
*
* @api
*/
void adcStart(ADCDriver *adcp, const ADCConfig *config) {
osalDbgCheck(adcp != NULL);
osalSysLock();
osalDbgAssert((adcp->state == ADC_STOP) || (adcp->state == ADC_READY),
"invalid state");
adcp->config = config;
adc_lld_start(adcp);
adcp->state = ADC_READY;
osalSysUnlock();
}
开发者ID:rusefi,项目名称:ChibiOS,代码行数:21,代码来源:hal_adc.c
示例19: eicuDisable
/**
* @brief Disables the extended input capture.
*
* @param[in] eicup Pointer to the @p EICUDriver object
*
* @api
*/
void eicuDisable(EICUDriver *eicup) {
osalDbgCheck(eicup != NULL);
osalSysLock();
osalDbgAssert((eicup->state == EICU_READY) || (eicup->state == EICU_IDLE) ||
(eicup->state == EICU_ACTIVE) || (eicup->state == EICU_WAITING),
"invalid state");
eicu_lld_disable(eicup);
eicup->state = EICU_READY;
osalSysUnlock();
}
开发者ID:TexZK,项目名称:ChibiOS-Contrib,代码行数:19,代码来源:eicu.c
示例20: eicuStart
/**
* @brief Configures and activates the EICU peripheral.
*
* @param[in] eicup Pointer to the @p EICUDriver object
* @param[in] config Pointer to the @p EICUConfig object
*
* @api
*/
void eicuStart(EICUDriver *eicup, const EICUConfig *config) {
osalDbgCheck((eicup != NULL) && (config != NULL));
osalSysLock();
osalDbgAssert((eicup->state == EICU_STOP) || (eicup->state == EICU_READY),
"invalid state");
eicup->config = config;
eicu_lld_start(eicup);
eicup->state = EICU_READY;
osalSysUnlock();
}
开发者ID:TexZK,项目名称:ChibiOS-Contrib,代码行数:20,代码来源:eicu.c
注:本文中的osalSysLock函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论