Lines Matching refs:serial
56 void rt_hw_uart_isr(struct rt_lm3s_serial* serial) in rt_hw_uart_isr() argument
61 device = (struct rt_device*)serial; in rt_hw_uart_isr()
62 status = UARTIntStatus(serial->hw_base, true); in rt_hw_uart_isr()
65 UARTIntClear(serial->hw_base, status); in rt_hw_uart_isr()
72 while (UARTCharsAvail(serial->hw_base)) in rt_hw_uart_isr()
74 ch = UARTCharGetNonBlocking(serial->hw_base); in rt_hw_uart_isr()
80 serial->rx_buffer[serial->save_index] = ch; in rt_hw_uart_isr()
81 serial->save_index ++; in rt_hw_uart_isr()
82 if (serial->save_index >= RT_UART_RX_BUFFER_SIZE) in rt_hw_uart_isr()
83 serial->save_index = 0; in rt_hw_uart_isr()
86 if (serial->save_index == serial->read_index) in rt_hw_uart_isr()
88 serial->read_index ++; in rt_hw_uart_isr()
89 if (serial->read_index >= RT_UART_RX_BUFFER_SIZE) in rt_hw_uart_isr()
90 serial->read_index = 0; in rt_hw_uart_isr()
102 length = serial->save_index - serial->read_index; in rt_hw_uart_isr()
151 struct rt_lm3s_serial* serial; in rt_serial_open() local
152 serial = (struct rt_lm3s_serial*) dev; in rt_serial_open()
154 RT_ASSERT(serial != RT_NULL); in rt_serial_open()
159 if (serial->hw_base == UART0_BASE) in rt_serial_open()
161 else if (serial->hw_base == UART1_BASE) in rt_serial_open()
164 UARTIntEnable(serial->hw_base, UART_INT_RX | UART_INT_RT); in rt_serial_open()
172 struct rt_lm3s_serial* serial; in rt_serial_close() local
173 serial = (struct rt_lm3s_serial*) dev; in rt_serial_close()
175 RT_ASSERT(serial != RT_NULL); in rt_serial_close()
180 UARTIntDisable(serial->hw_base, UART_INT_RX | UART_INT_RT); in rt_serial_close()
194 struct rt_lm3s_serial *serial = (struct rt_lm3s_serial*)dev; in rt_serial_read() local
195 RT_ASSERT(serial != RT_NULL); in rt_serial_read()
209 if (serial->read_index != serial->save_index) in rt_serial_read()
211 *ptr = serial->rx_buffer[serial->read_index]; in rt_serial_read()
213 serial->read_index ++; in rt_serial_read()
214 if (serial->read_index >= RT_UART_RX_BUFFER_SIZE) in rt_serial_read()
215 serial->read_index = 0; in rt_serial_read()
243 *ptr = UARTCharGetNonBlocking(serial->hw_base); in rt_serial_read()
253 struct rt_lm3s_serial* serial; in rt_serial_write() local
256 serial = (struct rt_lm3s_serial*) dev; in rt_serial_write()
277 while (UARTCharPutNonBlocking(serial->hw_base, '\r') == false); in rt_serial_write()
279 while (UARTCharPutNonBlocking(serial->hw_base, *ptr) == false); in rt_serial_write()
289 while (UARTCharPutNonBlocking(serial->hw_base, *ptr) == false); in rt_serial_write()
301 struct rt_lm3s_serial* serial; in rt_hw_serial_init() local
304 serial = &serial1; in rt_hw_serial_init()
306 serial->parent.type = RT_Device_Class_Char; in rt_hw_serial_init()
308 serial->hw_base = UART0_BASE; in rt_hw_serial_init()
309 serial->baudrate = 115200; in rt_hw_serial_init()
311 rt_memset(serial->rx_buffer, 0, sizeof(serial->rx_buffer)); in rt_hw_serial_init()
312 serial->read_index = serial->save_index = 0; in rt_hw_serial_init()
322 UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), serial->baudrate, in rt_hw_serial_init()
326 serial->parent.init = rt_serial_init; in rt_hw_serial_init()
327 serial->parent.open = rt_serial_open; in rt_hw_serial_init()
328 serial->parent.close = rt_serial_close; in rt_hw_serial_init()
329 serial->parent.read = rt_serial_read; in rt_hw_serial_init()
330 serial->parent.write = rt_serial_write; in rt_hw_serial_init()
331 serial->parent.control = rt_serial_control; in rt_hw_serial_init()
332 serial->parent.user_data = RT_NULL; in rt_hw_serial_init()
334 rt_device_register(&serial->parent, in rt_hw_serial_init()
339 serial = &serial2; in rt_hw_serial_init()
341 serial->parent.type = RT_Device_Class_Char; in rt_hw_serial_init()
343 serial->hw_base = 0xE0010000; in rt_hw_serial_init()
344 serial->baudrate = 115200; in rt_hw_serial_init()
346 rt_memset(serial->rx_buffer, 0, sizeof(serial->rx_buffer)); in rt_hw_serial_init()
347 serial->read_index = serial->save_index = 0; in rt_hw_serial_init()
349 serial->parent.init = rt_serial_init; in rt_hw_serial_init()
350 serial->parent.open = rt_serial_open; in rt_hw_serial_init()
351 serial->parent.close = rt_serial_close; in rt_hw_serial_init()
352 serial->parent.read = rt_serial_read; in rt_hw_serial_init()
353 serial->parent.write = rt_serial_write; in rt_hw_serial_init()
354 serial->parent.control = rt_serial_control; in rt_hw_serial_init()
355 serial->parent.user_data = RT_NULL; in rt_hw_serial_init()
357 rt_device_register(&serial->parent, in rt_hw_serial_init()