loopback.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. local uart3 = require("uart3_setup")
  2. local uart2 = require("uart2_setup")
  3. -- 定义测试参数
  4. local baud_rates = {2000000, 921600, 460800, 230400, 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200,600,300,200,100,1}
  5. local data_bits = {7, 8}
  6. local stop_bits = {0.5, 1, 1.5, 2}
  7. local parities = {uart.None, uart.Even, uart.Odd}
  8. local bit_orders = {uart.LSB, uart.MSB}
  9. local buff_size = { 1024, 2048, 4096}
  10. -- 测试函数
  11. local function test_uart_loopback()
  12. for _, baud_rate in ipairs(baud_rates) do
  13. for _, data_bit in ipairs(data_bits) do
  14. for _, stop_bit in ipairs(stop_bits) do
  15. for _, parity in ipairs(parities) do
  16. for _, bit_order in ipairs(bit_orders) do
  17. for _, buff in ipairs(buff_size) do
  18. -- 设置uart3
  19. local result1 = uart3.setup_uart3(baud_rate, data_bit, stop_bit, parity, bit_order, buff)
  20. -- 设置UART2
  21. local result2 = uart2.setup_uart2(baud_rate, data_bit, stop_bit, parity, bit_order, buff)
  22. -- 注册UART事件
  23. -- uart3.setup_uart3_event()
  24. -- uart2.setup_uart2_event()
  25. -- 测试数据发送
  26. local test_data = "Hello UART Loopback!\r\n"
  27. log.info("uart3发送数据" .. test_data .. "给uart2",uart.write(3, test_data))
  28. -- 等待一段时间,确保接收数据
  29. sys.wait(1000)
  30. end
  31. end
  32. end
  33. end
  34. end
  35. end
  36. print("All tests complete.")
  37. end
  38. -- 执行测试
  39. sys.taskInit(test_uart_loopback)