C语言串口通信-源代码
if (char_ready > 0) --char_ready; return(ch); } else return(0); } /*--------------写串口-----------------*/ Serial_Write(char ch) { while(!(inp(open_port + SER_LSR) & 0x20)){} asm cli outp(open_port + SER_THR, ch); asm sti } /*-----------初始化串口---------------*/ Open_Serial(int port_base, int baud, int configuration) { open_port = port_base; disable(); outp(port_base + SER_LCR, SER_DIV_LATCH_ON); outp(port_base + SER_DLL, baud); outp(port_base + SER_DLH, 0); outp(port_base + SER_LCR, configuration); outp(port_base + SER_MCR, SER_GP02); outp(port_base + SER_IER, 1); if (port_base == COM_1 || port_base==COM_3) { Old_Isr = _dos_getvect(INT_SER_PORT_0); _dos_setvect(INT_SER_PORT_0, Serial_Isr); printf("\nOpening Communications Channel Com Port #1/3...\n"); } else { Old_Isr = _dos_getvect(INT_SER_PORT_1); _dos_setvect(INT_SER_PORT_1, Serial_Isr); printf("\nOpening Communications Channel Com Port #2/4...\n"); } old_int_mask = inp(PIC_IMR); outp(PIC_IMR, (port_base==COM_1) ? (old_int_mask & 0xEF) : (old_int_mask & 0xF7 )); enable(); } /*-------------关闭串口--------------*/
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言串口通信-源代码(10)在线全文阅读。
相关推荐: