嗨,对话,
我想创建我自己的波特率的UART,但不知道如何决定DLF值。数据表显示值=(除数分数值)/(2^DLF\u大小)。我在数据表中找不到关于“除数分数值”和“DLF\ U大小”的任何描述。例如,如果我想创建10000波特率(100us),我应该在DLL中填写100,那么DLF值将是什么以及如何?谢谢你的帮助。
你好nigelyang,
请检查一下房间表42:波特率生成DA14680数据表。作为一个例子,让我展示115200(默认波特率)是如何生成的,然后我将向您展示如何生成10000波特率。一般来说,请注意:除法器=16000000/16/波特率
对于生成115200波特率,您可以得到除法器:16000000/16/115200=8680~=8
请转到HW\u UART.h头文件中的HW\u UART\u波特率枚举,您将看到
硬件UART波特率115200=0x0000080b. 定义的值包括3个寄存器的值:DLH、DLL、DLF。
关于10000波特率,您将得到16000000/16/10000=100
因此,在HW\u UART\u波特率枚举中,您应该添加以下内容:
硬件UART波特率10000=0x00006400. 另外,您应该将CONFIG.c文件中的CONFIG\u RETARGET\u UART\u波特率定义更改为自定义波特率HW\u UART\u BAUDRATE\u 10000。
谢谢,下午好
你好nigelyang,
请检查一下房间表42:波特率生成DA14680数据表。作为一个例子,让我展示115200(默认波特率)是如何生成的,然后我将向您展示如何生成10000波特率。一般来说,请注意:除法器=16000000/16/波特率
对于生成115200波特率,您可以得到除法器:16000000/16/115200=8680~=8
请转到HW\u UART.h头文件中的HW\u UART\u波特率枚举,您将看到
硬件UART波特率115200=0x0000080b. 定义的值包括3个寄存器的值:DLH、DLL、DLF。
关于10000波特率,您将得到16000000/16/10000=100
因此,在HW\u UART\u波特率枚举中,您应该添加以下内容:
硬件UART波特率10000=0x00006400. 另外,您应该将CONFIG.c文件中的CONFIG\u RETARGET\u UART\u波特率定义更改为自定义波特率HW\u UART\u BAUDRATE\u 10000。
谢谢,下午好