static rt_uint8_t wrtnode2r_spi_stm32_get_write_buf_data(void) { rt_uint8_t ch = 0; rt_ringbuffer_getchar(&spi_bridge.write_buf, &ch); return ch; }
/*********************************************************** * Function:gps_read * Description:数据模式下读取数据 * Input: * Input: * Output: * Return: * Others: ***********************************************************/ static rt_size_t dev_vuart_read( rt_device_t dev, rt_off_t pos, void* buff, rt_size_t count ) { if(count>1) return rt_ringbuffer_get(&rb_vuart,buff,count); else return rt_ringbuffer_getchar(&rb_vuart,buff); }
static int console_getc(struct rt_serial_device *serial) { char ch; struct console_uart* uart; RT_ASSERT(serial != RT_NULL); uart = (struct console_uart *)serial->parent.user_data; if (rt_ringbuffer_getchar(&(uart->rb), &ch)) return ch; return -1; }
static int _vcom_getc(struct rt_serial_device *serial) { int result; rt_uint8_t ch; rt_uint32_t level; result = -1; level = rt_hw_interrupt_disable(); if (RT_RINGBUFFER_SIZE(&rx_ringbuffer)) { rt_ringbuffer_getchar(&rx_ringbuffer, &ch); result = ch; } rt_hw_interrupt_enable(level); return result; }
static int _vcom_getc(struct rt_serial_device *serial) { int result; rt_uint8_t ch; rt_uint32_t level; struct ufunction *func; struct vcom *data; func = (struct ufunction*)serial->parent.user_data; data = (struct vcom*)func->user_data; result = -1; level = rt_hw_interrupt_disable(); if(rt_ringbuffer_getchar(&data->rx_ringbuffer, &ch) != 0) { result = ch; } rt_hw_interrupt_enable(level); return result; }