| 885 | } |
| 886 | |
| 887 | static rt_ssize_t rt_serial_read(struct rt_device *dev, |
| 888 | rt_off_t pos, |
| 889 | void *buffer, |
| 890 | rt_size_t size) |
| 891 | { |
| 892 | struct rt_serial_device *serial; |
| 893 | |
| 894 | RT_ASSERT(dev != RT_NULL); |
| 895 | if (size == 0) return 0; |
| 896 | |
| 897 | serial = (struct rt_serial_device *)dev; |
| 898 | |
| 899 | if (dev->open_flag & RT_DEVICE_FLAG_INT_RX) |
| 900 | { |
| 901 | return _serial_int_rx(serial, (rt_uint8_t *)buffer, size); |
| 902 | } |
| 903 | #ifdef RT_SERIAL_USING_DMA |
| 904 | else if (dev->open_flag & RT_DEVICE_FLAG_DMA_RX) |
| 905 | { |
| 906 | return _serial_dma_rx(serial, (rt_uint8_t *)buffer, size); |
| 907 | } |
| 908 | #endif /* RT_SERIAL_USING_DMA */ |
| 909 | |
| 910 | return _serial_poll_rx(serial, (rt_uint8_t *)buffer, size); |
| 911 | } |
| 912 | |
| 913 | static rt_ssize_t rt_serial_write(struct rt_device *dev, |
| 914 | rt_off_t pos, |
nothing calls this directly
no test coverage detected