利用 串口调试助手 实现LM3S811与PC机之间通信。 一 以下首先是一些关于LM3S811 UART模块的总结 1、函数:UARTConfigSetExpClk( ) 功能:UART配置(要求提供明确的时钟速率)原型:void UARTConfigSetExpClk(unsigned long ulBase,unsigned long ulUARTClk, unsigned long ulBaud,unsigned long ulConfig) 参数: ulBase:UART端口的基址,取值UART0_BASE、UART1_BASE或UART2_BASE ulUARTClk:提供给UART模块的时钟速率,即系统时钟频率 ulBaud:期望设定的波特率 ulConfig:UART端口的数据格式,取下列各组数值之间的“或运算”组合形式: 2、函数:UARTConfigSet( ) 功能:UART配置(自动获取时钟速率)原型:#define UARTConfigSet(a, b, c) UARTConfigSetExpClk(a, SysCtlClockGet( ), b, c) 参数:详见UARTConfigSetExpClk函数描述返回:无说明:本宏函数常常用来代替函数UARTConfigSetExpClk( ),在调用之前应当先调用SysCtlClockSet( )函数设置系统时钟(不要使用误差很大的内部振荡器IOSC、IOSC/4、INT30等) 3、函数:UARTEnable( ) 功能:使能指定UART端口的发送和接收操作原型:void UARTEnable(unsigned long ulBase) 参数:ulBase:UART端口的基址,取值UART0_BASE、UART1_BASE 4、函数:UARTCharPut( ) 功能:发送1个字符到指定的UART端口(等待) 原型:void UARTCharPut(unsigned long ulBase, unsigned char ucData) 参数:ulBase:UART端口的基址,取值UART0_BASE、UART1_BASE或UART2_BASE ulData:要发送的字符 返回:无(在未发送完毕前不会返回) 5、函数:UARTCharGet( ) 功能:从指定的UART端口接收1个字符(等待) 原型:long UARTCharGet(unsigned long ulBase) 参数:ulBase:UART端口的基址,取值UART0_BASE、UART1_BASE或UART2_BASE 返回:读取到的字符,并自动转换为long型(在未收到字符之前会一直等待) 6、函数:UARTCharPutNonBlocking( ) 功能:发送1个字符到指定的UART端口(不等待) 原型:tBoolean UARTCharPutNonBlocking(unsigned long ulBase, unsigned char ucData) 参数:ulBase:UART端口的基址,取值UART0_BASE、UART1_BASE或UART2_BASE ulData:要发送的字符 返回:如果发送FIFO里有可用空间,则将数据放入发送FIFO,并立即返回true 如果发送FIFO里没有可用空间,则立即返回false(发送失败) 说明:通常,在调用本函数之前应当先调用UARTSpaceAvail( )确认发送FIFO里有可用空间 二 任务以下程序主要实现的目的是:首先LM3S811向PC发送“请输入密码”,如果在串口调试助手上正确输入程序预先设置的密码(nwx8899),则串口调试助手将再次收到“您是我们的会员,欢迎光临!”的字样;否则将受到:”对不起,密码错误!“
[ 本帖最后由 nwx8899 于 2012-1-11 12:50 编辑 ]
|