This example shows how to setup and send data with UART module. You can find the complete example in the “..\Program Files\Diolan\DLN\examples\c_cpp\examples\simple
” folder after DLN setup package installation.
#include "..\..\..\common\dln_generic.h" #include "..\..\..\common\dln_uart.h" #pragma comment(lib, "..\\..\\..\\bin\\dln.lib") int _tmain(int argc, _TCHAR* argv[]) { // Open device HDLN device; DlnOpenUsbDevice(&device); // Configure UART to 19200 8N1 uint32_t baud; DlnUartSetBaudrate(device, 0, 19200, &baud); DlnUartSetCharacterLength(device, 0, DLN_UART_CHARACTER_LENGTH_8); DlnUartSetParity(device, 0, DLN_UART_PARITY_NONE); DlnUartSetStopbits(device, 0, DLN_UART_STOPBITS_1); // Enable UART uint16_t conflict; DlnUartEnable(device, 0, &conflict); // Write data uint8_t output[10] = "123456789"; DlnUartWrite(device, 0, 10, output); // Read data uint8_t input[10]; uint16_t total; DlnUartRead(device, 0, 10, &input, &total); // Print it for (int i = 0; i < total; i++) putchar(input[i]); // Disable UART DlnUartDisable(device, 0); // Close device DlnCloseHandle(device); return 0; }
Line 1:#include "..\..\..\common\dln_generic.h"
The dln_generic..h
header file declares functions and data structures for the generic interface. In current example this header is used to call DlnOpenUsbDevice() and DlnCloseHandle() [1] functions.
Line 2:#include "..\..\..\common\dln_uart.h"
The dln_uart.h header file declares functions and data structure specific for UART interface. By including this header file you are able to call DlnUartSetBaudrate() [2], DlnUartSetCharacterLength() [3], DlnUartSetParity() [4], DlnUartSetStopbits() [5], DlnUartEnable() [6], DlnUartWrite() [7], DlnUartRead() [8], DlnUartDisable() [9] and other UART interface functions.
Line 3:#pragma comment(lib, "..\\..\\..\\bin\\dln.lib")
Use dln.lib
library while project linking.
Line 9:DlnOpenUsbDevice(&device);
The function establishes the connection with the DLN adapter. This application uses the USB connectivity of the adapter. For additional options, refer to the Device Opening & Identification [10] section.
Line 13:DlnUartSetBaudrate(device, 0, 19200, &baud);
The function sets the baud rate value equal to 10200 bits.
Line 14:DlnUartSetCharacterLength(device, 0, DLN_UART_CHARACTER_LENGTH_8);
The function sets the character length equal to 8 bits.
Line 15:DlnUartSetParity(device, 0, DLN_UART_PARITY_NONE);
The function sets parity to none.
Line 16:DlnUartSetStopbits(device, 0, DLN_UART_STOPBITS_1);
The function sets the number of stop bits to be sent with each character.
line 19:DlnUartEnable(device, 0, &conflict);
The function enables the UART interface.
Line 22:uint8_t output[10] = "123456789";
Define the array of 10 8-bits unsigned integer values (10 bytes) and set it to “123456789”.
Line 23:DlnUartWrite(device, 0, 10, output);
The function sends 10 bytes data buffer via UART interface.
Line 28:DlnUartRead(device, 0, 10, &input, &total);
The function reads 10 bytes data buffer to input variable and returns the value of real read bytes to total variable.
Line 30: for (int i = 0; i < total; i++) putchar(input[i]);
Output input array values in loop.
Line 33:DlnUartDisable(device, 0);
Disable UART interface port 0.
Line 36:DlnCloseHandle(device);
The application closes handle to the DLN adapter.