本文整理汇总了C++中uart_vars_t::rx_cb方法的典型用法代码示例。如果您正苦于以下问题:C++ uart_vars_t::rx_cb方法的具体用法?C++ uart_vars_t::rx_cb怎么用?C++ uart_vars_t::rx_cb使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类uart_vars_t
的用法示例。
在下文中一共展示了uart_vars_t::rx_cb方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void interrupt VectorNumber_Vsci2rx SCI2RX_ISR(void){
// copy received by into buffer
*uart_vars.rxBufWrPtr = SCI2D;
// shift pointer
uart_vars.rxBufWrPtr++;
if (uart_vars.rxBufWrPtr>=uart_vars.rxBuf+uart_vars.rxBufLen) {
uart_vars.rxBufWrPtr = uart_vars.rxBuf;
}
// increment fill
uart_vars.rxBufFill++;
if (uart_vars.rxBufFill>=uart_vars.rxBufLen) {
// buffer has overflown
// reset buffer
reset_rxBuf();
if (uart_vars.rx_cb!=NULL) {
// call the callback
uart_vars.rx_cb(UART_EVENT_OVERFLOW);
// make sure CPU restarts after leaving interrupt
}
} else if (uart_vars.rxBufFill>=uart_vars.rxBufFillThres) {
// buffer above threshold
if (uart_vars.rx_cb!=NULL) {
// call the callback
uart_vars.rx_cb(UART_EVENT_THRES);
}
}
}