NXP JN5169 UART集成外设API函数

函数名称函数功能形参形参功能返回值返回值功能
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将在其上操作的一组DIOuint8 u8Uart识别UART:E_AHI_UART_0(UART0),E_AHI_UART_1(UART2)void 
bool_t bLocationUART将在其上运行的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 bFlowCtrlPolarityRTS和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)uint8BitDescription 
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)uint8Bit rangeValue/EnumerationDescription
Bit 00更多的中断等待
1不再有中断挂起
Bits 1-3E_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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝蚊鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值