📄 uart.h
字号:
char *pcArg);
/*********************************************************************************************************
** Function name: uartGetState
** Descriptions: 获取当前串口的参数
** input parameters: uiId: 子设备号
** pcArg: 字符串指针
** Output parameters: pcArg: 输出字符串参数
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
*********************************************************************************************************/
extern int32 uartGetState (uint32 uiId, char * pcArg);
/*********************************************************************************************************
** Function name: uartFifoStatus
** Descriptions: 获取Queue队列的状态
** input parameters: uiId: 子设备号
** uiWhichFifo: TX_FIFO-发送队列;RX_FIFO-接收队列
** Returned value: 发送队列中可操作的空间大小,或接收队列中可用数据个数
*********************************************************************************************************/
extern int32 uartFifoStatus (uint32 uiId, uint32 uiWhichFifo);
/*********************************************************************************************************
** Function name: uartFifoFlush
** Descriptions: 清空接收或发送Queue队列
** input parameters: uiId: UART子设备号
** uiWhichFifo: TX_FIFO-发送队列;RX_FIFO-接收队列
** Output parameters: NONE
** Returned value: OPERATE_SUCCESS: 操作成功
** OPERATE_FAIL: 操作失败
*********************************************************************************************************/
extern int32 uartFifoFlush (uint32 uiId, uint32 uiWhichFifo);
/*********************************************************************************************************
** Function name: uartRead
** Descriptions: 从串口设备读取数据
** input parameters: uiId: 子设备号
** puiBuf: 保存返回数据的字符串指针地址
** uiNum: 读取的数据个数
** pRsv: 保留参数
** Output parameters: puiBuf: 读到的数据首地址
** Returned value: 实际读取的数据个数
*********************************************************************************************************/
extern int32 uartRead (uint32 uiId,
uint8 *puiBuf,
uint32 uiNum,
void *pRsv);
/*********************************************************************************************************
** Function name: uartWrite
** Descriptions: 向串口设备写数据
** input parameters: uiId: 子设备号
** puiBuf: 输出数据的字符串指针地址
** uiNum: 一次写入的数据个数
** pRsv: 保留参数
** Output parameters: NONE
** Returned value: 实际发送的数据个数
*********************************************************************************************************/
extern int32 uartWrite (uint32 uiId,
uint8 *puiBuf,
uint32 uiNum,
void *pRsv);
/*********************************************************************************************************
** Function name: uartDirectWrite
** Descriptions: 向串口设备直接发送数据
** input parameters: uiId : 子设备号
** uiData : 输出的数据
** Rsv : 保留参数(NULL)
** Output parameters: NONE
** Returned value: 实际发送的数据个数(1或0);
*********************************************************************************************************/
extern int32 uartDirectWrite (uint32 uiId, uint8 uiData);
extern int32 uartDirectMultiWrite (uint32 uiId,
uint8 *puiBuf,
uint32 uiNum,
void *pRsv);
/*********************************************************************************************************
** Function name: uartIsr
** Descriptions: UART中断服务程序
** input parameters: uiId : 子设备号
** Output parameters: NONE
** Returned value: 无
*********************************************************************************************************/
extern void uartIsr (uint32 uiId);
/*********************************************************************************************************
** Function name: uart0Isr
** Descriptions: UART0中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
********************************************************************************************************/
extern __PUART_INFO __GpuiUartInfoTab[4];
extern OS_EVENT *poeUart0ReviceSem; /* 接收UART0数据标志 */
__inline void uart0Isr (void)
{
uartIsr(UART0); /* UART中断管理函数 */
// if (__GpuiUartInfoTab[UART0]->uiUartState == 0) { /* 处于接收状态 */
// OSSemPost(poeUart0ReviceSem); /* 发送UART0信号量 */
// }
VICVectAddr = 0x00; /* 中断处理结束 */
}
/*********************************************************************************************************
** Function name: uart1Isr
** Descriptions: UART1中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
*********************************************************************************************************/
extern OS_EVENT *poeUart1ReviceSem; /* 接收UART1数据标志 */
__inline void uart1Isr (void)
{
uartIsr(UART1);
// if (__GpuiUartInfoTab[UART1]->uiUartState == 0) { /* 处于接收状态 */
// OSSemPost(poeUart1ReviceSem); /* 发送UART1信号量 */
// }
VICVectAddr = 0x00; /* 中断处理结束 */
}
/*********************************************************************************************************
** Function name: uart2Isr
** Descriptions: UART2中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
*********************************************************************************************************/
extern OS_EVENT *poeUart2ReviceSem; /* 接收UART2数据标志 */
__inline void uart2Isr (void)
{
uartIsr(UART2);
// if (__GpuiUartInfoTab[UART2]->uiUartState == 0) { /* 处于接收状态 */
// OSSemPost(poeUart2ReviceSem); /* 发送UART2信号量 */
// }
VICVectAddr = 0x00; /* 中断处理结束 */
}
/*********************************************************************************************************
** Function name: uart3Isr
** Descriptions: UART3中断入口函数
** input parameters: NONE
** Output parameters: NONE
** Returned value: 无
*********************************************************************************************************/
extern OS_EVENT *poeUart3ReviceSem; /* 接收UART3数据标志 */
__inline void uart3Isr (void)
{
uartIsr(UART3);
// if (__GpuiUartInfoTab[UART3]->uiUartState == 0) { /* 处于接收状态 */
// OSSemPost(poeUart3ReviceSem); /* 发送UART3信号量 */
// }
VICVectAddr = 0x00; /* 中断处理结束 */
}
#endif /* __UART_H */
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -