#define UARTID_MAX sizeof(CK_Uart_Table) / sizeof(CKStruct_UartInfo) /* the table of the uart serial ports */ CKStruct_UartInfo CK_Uart_Table[1]; /* * Make all the uarts in the idle state; * this function should be called before * INTC module working; */ void CK_Deactive_UartModule() { int i; CKStruct_UartInfo *info; for( i = 0; i < UARTID_MAX; i++) { info = &(CK_Uart_Table[i]); info->addr[CK_UART_LCR] = 0x83; info->addr[CK_UART_DLL] = 0x1; info->addr[CK_UART_DLH] = 0x0; info->addr[CK_UART_FCR] = 0x1; } }
时间: 2024-04-03 15:35:03 浏览: 62
sparc.rar_The Fields_sparc
这段代码的作用是将所有的串口模块置于空闲状态。该函数应该在 INTC 模块启动之前调用。其中定义了一个表示串口数量的常量 UARTID_MAX,以及一个用于存储串口信息的数组 CK_Uart_Table。函数内部使用了一个循环,遍历 CK_Uart_Table 数组,将每个串口的寄存器状态设置为特定的值,以达到将其置于空闲状态的目的。
阅读全文