函数名称 | 函数功能 | 形参 | 形参功能 | 返回值 | 返回值功能 | ||
bAHI_UartEnable | 此函数启用指定的UART,并为UART配置FIFO发送和接收缓冲区。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART1) | bool_t | 如果UART成功初始化,则为true,如果UART未成功初始化则为false | ||
uint8 *pu8TxBufAd | 发送FIFO开始的指针 | ||||||
uint16 u16TxBufLen | 发送FIFO的大小,范围为16到2047字节 | ||||||
uint8 *pu8RxBufAd | 接收FIFO开始的指针(如果不需要此FIFO,则设置到NULL) | ||||||
uint16 u16RxBufLen | 接收FIFO的大小,范围16到2047字节(此当pu8RxBufAd设置为NULL时,参数将被忽略) | ||||||
vAHI_UartEnable | 此函数启用指定的UART。 它必须是被调用的第一个UART函数。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART1) | void | |||
vAHI_UartDisable | 此函数通过将指定的UART断电来禁用它。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
vAHI_UartSetLocation | 此函数可用于选择指定UART将在其上操作的一组DIO | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bLocation | UART将在其上运行的DIO: TRUE-DIO12-15(UART0)或DIO11 / DIO9(UART1) FALSE-DIO4-7(UART0)或DIO14-15(UART1) | ||||||
vAHI_UartSetBaudRate | 该功能将指定UART的波特率设置为多种标准速率之一。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
uint8 u8BaudRate | 所需的波特率: E_AHI_UART_RATE_4800 (4800 bps) E_AHI_UART_RATE_9600 (9600 bps) E_AHI_UART_RATE_19200 (19200 bps) E_AHI_UART_RATE_38400 (38400 bps) E_AHI_UART_RATE_76800 (76800 bps) E_AHI_UART_RATE_115200 (115200 bps) | ||||||
vAHI_UartSetBaudDivisor | 该函数设置一个整数除数,以从指定UART的1MHz频率得出波特率。 该功能允许设置通过函数vAHI_UartSetBaudRate()无法获得的波特率。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
uint16 u16Divisor | 整数除数。 baud-rate = 1000000/u16Divisor u16Divisor Baud-rate (bits/s) 1 1000000 2 500000 9 115200 (大约) 26 38400 (大约) | ||||||
vAHI_UartSetClocksPerBit | 该功能将指定UART使用的波特率设置为从16MHz外设时钟得出的值。 与通过vAHI_UartSetBaudRate()和vAHI_UartSetBaudDivisor()提供的波特率相比,该功能允许设置更高的波特率。 注意,4Mbit/s是推荐的最高波特率。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
uint8 u8Cpb | 得到的波特率,以Mbit/s为单位,由: 16 / (Divisor * (Cpb + 1)) 上式中的Cpb值,范围为0-15(请注意,不建议使用值0-2) Divisor Cpb Baud-rate (Mbits/s) 1 3 4.000 1 4 3.200 1 5 2.667 1 6 2.286 1 7 2.000 1 15 1.000 2 11 0.667 2 15 0.500 3 15 0.333 | ||||||
vAHI_UartSetControl | 该功能为指定的UART设置各种控制位。注意,UART0的RTS不能自动控制-只能在软件控制下设置/清除(对于UART1,此设置将被忽略)。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bEvenParity | 要应用的奇偶校验类型(如果启用): E_AHI_UART_EVEN_PARITY (偶校验) E_AHI_UART_ODD_PARITY (奇校验) | ||||||
bool_t bEnableParity | 启用/禁用奇偶校验: E_AHI_UART_PARITY_ENABLE E_AHI_UART_PARITY_DISABLE | ||||||
uint8 u8WordLength | 字长(以位为单位): E_AHI_UART_WORD_LEN_5 (word is 5 bits) E_AHI_UART_WORD_LEN_6 (word is 6 bits) E_AHI_UART_WORD_LEN_7 (word is 7 bits) E_AHI_UART_WORD_LEN_8 (word is 8 bits) | ||||||
bool_t bOneStopBit | 停止位数-1个停止位或1.5或2个停止位 (取决于字长),枚举为: E_AHI_UART_1_STOP_BIT (TRUE - 1 stop bit) E_AHI_UART_2_STOP_BITS (FALSE - 1.5 or 2 stop bits) | ||||||
bool_t bRtsValue | 设置/清除RTS信号(仅UART0): E_AHI_UART_RTS_HIGH (TRUE - set RTS to high) E_AHI_UART_RTS_LOW (FALSE - clear RTS to low) | ||||||
vAHI_UartSetInterrupt | 此功能启用或禁用由指定UART生成的中断,并设置接收FIFO触发级别-即接收FIFO中触发“接收数据可用”中断所需的字节数。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bEnableModemStatus | 启用/禁用“调制解调器状态”中断(例如,更改CTS 为UART0检测到): TRUE to enable FALSE to disable | ||||||
bool_t bEnableRxLineStatus | 启用/禁用“接收线路状态”中断(中断指示,成帧错误,奇偶校验错误或超限): TRUE to enable FALSE to disable | ||||||
bool_t bEnableTxFifoEmpty | 启用/禁用“发送FIFO空”中断: TRUE to enable FALSE to disable | ||||||
bool_t bEnableRxData | 启用/禁用“接收数据可用”中断: TRUE to enable FALSE to disable | ||||||
uint8 u8FifoLevel | 触发“接收数据可用”中断所需的接收FIFO中的字节数: E_AHI_UART_FIFO_LEVEL_1 (1 byte) E_AHI_UART_FIFO_LEVEL_4 (4 bytes) E_AHI_UART_FIFO_LEVEL_8 (8 bytes) E_AHI_UART_FIFO_LEVEL_14 (14 bytes) | ||||||
vAHI_UartTxOnly | 此函数启用或禁用指定UART上的1线模式。 在这种模式下,UART只能传输-只有TXD引脚被使用,RxD被释放用于其他用途。 目前,只支持UART1上的1线模式,如果指定UART0,此函数将不会产生任何影响。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bEnable | 启用/禁用1线模式: TRUE to enable FALSE to disable | ||||||
vAHI_UartSetRTSCTS | 此函数指示UART0获取或释放流控制中用于RTS和CTS的DIO线(取决于所选的DIO): DIO4 (default) or DIO12 for CTS DIO5 (default) or DIO13 for RTS 函数必须在调用vAHI_UartEnable()之前调用。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bRTSCTSEn | 对RTS和CTS的DIO线进行/释放控制: TRUE to take control FALSE to release control ( 允许使用其他操作) | ||||||
vAHI_UartSetRTS | 该功能指示UART0在4线模式下设置或清除其RTS信号。 为了使用此功能,UART必须处于4线模式,且未启用自动流控制。 必须在调用bAHI_UartEnable()之后调用该函数。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bRtsValue | 设置/清除RTS信号: E_AHI_UART_RTS_HIGH (TRUE - set RTS to high) E_AHI_UART_RTS_LOW (FALSE - clear RTS to low) | ||||||
vAHI_UartSetAutoFlowCtrl | 此功能允许为在4线模式下工作的UART0配置和启用自动流控制(AFC)。 自动RTS(bAutoRts):当接收FIFO填充级别大于或等于指定的触发级别(u8RxFifoLevel)时,RTS无效。 然后,一旦接收FIFO填充水平降到触发水平以下,RTS就重新置位。 自动CTS(bAutoCts):这是基于传入CTS信号的传输自动控制。 仅当断言CTS输入时才开始传输字符。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0) | void | |||
uint8 u8RxFifoLevel | 接收FIFO自动RTS触发级别: E_AHI_UART_FIFO_ARTS_LEVEL_8: 8 bytes E_AHI_UART_FIFO_ARTS_LEVEL_11: 11 bytes E_AHI_UART_FIFO_ARTS_LEVEL_13: 13 bytes E_AHI_UART_FIFO_ARTS_LEVEL_15: 15 bytes | ||||||
bool_t bFlowCtrlPolarity | RTS和CTS流量控制的活动级别(低或高): FALSE: RTS and CTS are active-low TRUE: RTS and CTS are active-high | ||||||
bool_t bAutoRts | 启用/禁用自动RTS功能: TRUE to enable FALSE to disable | ||||||
bool_t bAutoCts | 启用/禁用自动CTS功能: TRUE to enable FALSE to disable | ||||||
vAHI_UartSetBreak | 该功能指示指定的UART启动或清除传输中断。 使用此功能设置中断条件时,当前正在传输的数据字节将被破坏,然后传输将停止。 清除中断条件后,传输将恢复以传输保留在发送FIFO中的数据。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bBreak | 关于UART的说明: TRUE to initiate break (没有数据) FALSE to clear break (并恢复数据传输) | ||||||
vAHI_UartReset | 该功能复位指定UART的发送和接收FIFO。当前正在传输的字符不受影响。发送和接收FIFO可以单独或一起复位。 该功能还将FIFO触发级别设置为单字节触发。可以通过vAHI_UartSetInterrupt()设置接收FIFO中断触发级别。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
bool_t bTxReset | 发送FIFO复位: TRUE to reset the Transmit FIFO FALSE not to reset the Transmit FIFO | ||||||
bool_t bRxReset | 接收FIFO复位: TRUE to reset the Receive FIFO FALSE not to reset the Receive FIFO | ||||||
u16AHI_UartReadRxFifoLevel | 此函数获取指定UART的接收FIFO的填充级别-即FIFO中当前的字符数。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint16 | 指定的接收FIFO中的字符数 | ||
u16AHI_UartReadTxFifoLevel | 此函数获取发送FIFO的填充级别-即FIFO中当前的字符数。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint16 | 指定的发送FIFO中的字符数 | ||
u8AHI_UartReadRxFifoLevel | 此函数获取JN516x器件上指定UART的接收FIFO的填充级别-即FIFO中当前的字符数。 提供此功能仅是为了向后兼容为JN514x微控制器开发的应用程序代码。 JN516x微控制器的新代码应改用函数u16AHI_UartReadRxFifoLevel() | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint8 | 指定的接收FIFO中的字符数 | ||
u8AHI_UartReadTxFifoLevel | 此函数获取JN516x设备上指定UART的发送FIFO的填充级别-即FIFO中当前的字符数。 提供此功能仅是为了向后兼容为JN514x微控制器开发的应用程序代码。 JN516x微控制器的新代码应改用函数u16AHI_UartReadTxFifoLevel() | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint8 | 指定发送FIFO中的字符数 | ||
u8AHI_UartReadLineStatus | 此函数以位图的形式返回指定UART的线路状态信息。 注意以下位在读取后被清除: E_AHI_UART_LS_ERROR E_AHI_UART_LS_BI E_AHI_UART_LS_FE E_AHI_UART_LS_PE E_AHI_UART_LS_OE | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint8 | Bit | Description | |
E_AHI_UART_LS_ERROR | 如果收到奇偶校验错误,成帧错误或中断指示,则该位置1。 | ||||||
E_AHI_UART_LS_TEMT | 如果发送移位寄存器为空,则该位置1。 | ||||||
E_AHI_UART_LS_THRE | 如果发送FIFO为空,则该位置1。 | ||||||
E_AHI_UART_LS_BI | 如果收到中断指示,则该位置1(整行字符保持低电平) | ||||||
E_AHI_UART_LS_FE | 如果收到帧错误,则该位置1。 | ||||||
E_AHI_UART_LS_PE | 如果收到奇偶校验错误,则该位置1。 | ||||||
E_AHI_UART_LS_OE | 如果发生接收溢出,即接收缓冲区已满,但另一个字符到达,则该位置1。 | ||||||
E_AHI_UART_LS_DR | 如果接收FIFO中有数据,则该位置1。 | ||||||
u8AHI_UartReadModemStatus | 此功能从UART0获得调制解调器状态信息,作为位图,其中包括CTS和“ CTS已更改”状态(可以如下所述提取)。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0) | uint8 | 位图,其中: 1、CTS输入状态为位4(“ 1”表示CTS为高,“ 0”表示CTS为低)。 2、“ CTS已更改”状态为位0(“ 1”表示CTS输入已更改)。 如果与E_AHI_UART_MS_DCTS按位与的返回值不为零,则CTS输入已更改。 | ||
u8AHI_UartReadInterruptStatus | 该函数以位图的形式返回指定UART的未决中断。根据中断的优先级,一次一次返回中断,因此可能需要多次调用此函数。 如果启用了中断,则中断处理程序将处理此活动,并将每个中断发布到队列或回调函数中。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint8 | Bit range | Value/Enumeration | Description |
Bit 0 | 0 | 更多的中断等待 | |||||
1 | 不再有中断挂起 | ||||||
Bits 1-3 | E_AHI_UART_INT_RXLINE (3) | 接收线路状态中断(最高优先级) | |||||
E_AHI_UART_INT_RXDATA (2) | 接收数据可用中断(下一个最高优先级) | ||||||
E_AHI_UART_INT_TIMEOUT (6) | 超时中断(下一个最高优先级) | ||||||
E_AHI_UART_INT_TX (1) | 发送FIFO空中断(下一个最高优先级) | ||||||
E_AHI_UART_INT_MODEM (0) | 调制解调器状态中断(最低优先级) | ||||||
vAHI_UartWriteData | 该函数将数据字节写入指定UART的发送FIFO。 数据字节一旦到达FIFO的开头,便开始发送。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | void | |||
uint8 u8Data | 传输字节 | ||||||
u8AHI_UartReadData | 该函数返回从指定UART的接收FIFO中读取的一个字节。 如果FIFO为空,则返回的值无效。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint8 | 接收字节 | ||
u16AHI_UartBlockWriteData | 该函数将数据块写入指定UART的发送FIFO。 然后,数据传输将由片上DMA引擎处理。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint16 | 成功写入发送FIFO的数据字节数。 | ||
uint8 *pu8Data | 指向要写入发送FIFO的数据块开始的指针 | ||||||
uint16 u16DataLength | 数据块大小,以字节为单位 | ||||||
u16AHI_UartBlockReadData | 该功能从指定的UART的接收FIFO中读取数据块。 如果FIFO为空,则返回的值无效。 必须指定RAM中的数据缓冲区以接收读取的数据块。 | uint8 u8Uart | 识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2) | uint16 | 从接收FIFO成功读取的数据字节数 | ||
uint8 *pu8DataBuffer | 指向RAM中的数据缓冲区的指针以接收读取的数据块 | ||||||
uint16 u16DataBufferLength | 数据缓冲区的大小,以字节为单位 | ||||||
vAHI_Uart0RegisterCallback | 此函数注册一个用户定义的回调函数,该函数将在触发UART0中断时被调用。 | PR_HWINT_APPCALLBACK prUart0Callback | 指向要注册的回调函数的指针 | void | |||
vAHI_Uart1RegisterCallback | 该函数注册了一个用户定义的回调函数,该函数将在触发UART1中断时被调用。 | PR_HWINT_APPCALLBACK prUart1Callback | 指向要注册的回调函数的指针 | void |
NXP JN5169 UART集成外设API函数
最新推荐文章于 2021-01-13 17:05:27 发布