《ARM之间串口通信.doc》由会员分享,可在线阅读,更多相关《ARM之间串口通信.doc(7页珍藏版)》请在金锄头文库上搜索。
1、#include .config.h#define UART_BPS 38400 /* 串口通信波特率 */INT8U const send=0xfd 0x0a 0x00 0x01 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09rn;/* Function name: delayNS* Descriptions: 延时函数* input parameters: ulDly: 延时值* output parameters: 无* Returned value: 无*/void delayNS (INT32U ulDly) INT32U i; f
2、or (; ulDly 0; ulDly-) for (i = 0; i 0; ulNum-) *puiStr+ = uart0GetByte (); /* Function name: uart0SendByte* Descriptions: 向串口发送子节数据,并等待数据发送完成,使用查询方式* input parameters: ucDat: 要发送的数据* output parameters: 无* Returned value: 无*/void uart0SendByte (INT8U ucDat) U0THR = ucDat; /* 写入数据 */ while (U0LSR & 0
3、x40) = 0); /* 等待数据发送完毕 */* Function name: uart0SendStr* Descriptions: 向串口发送字符串* input parameters: puiStr: 要发送的字符串指针* output parameters: 无* Returned value: 无*/void uart0SendStr (INT8U const *puiStr) while (1) if (*puiStr = 0) break; /* 遇到结束符,退出 */ uart0SendByte (*puiStr+); /* Function name: uartInit*
4、 Descriptions: 串口初始化,设置为8位数据位,1位停止位,无奇偶校验,波特率为9600* input parameters: 无* output parameters: 无* Returned value: 无*/void uartInit (void) INT16U usFdiv; U1LCR = 0x83; /* 允许设置波特率 */ usFdiv = (FPCLK / 16) / UART_BPS; /* 设置波特率 */ U1DLM = usFdiv / 256; U1DLL = usFdiv % 256; U1LCR = 0x03; /* 锁定波特率 */ U1FCR = 0x06;/*