4823|7

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LM3S811学习笔记(2)-UART通信 [复制链接]

LM3S811学习笔记(2)-UART通信
 
UART通信(1)
 
使用串口0实现将接收的数据立马发送出去
使用了库函数实现

效果图
 
程序
文件Test.c
#include "LM3Sxxx.h"
#include "myUART.h"
int main(void)
{ /*  初始化系统时钟  */
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_6MHZ);
 /*  初始化串口0  */
 UART0_Init(9600);
    while(1)
    {
  ;
    }
}
--------------------------
文件myUART.c
#include "myUART.h"

/*   串口0初始化  */
void UART0_Init(unsigned long ulBaudRate)
{
         /* 使能外设 UART0 GPIOA */
 SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
         /* 配置端口功能         */
    GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
         /* 串口配置 9600 8-N-1  */
    UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 9600,
                        (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
                         UART_CONFIG_PAR_NONE));
 IntMasterEnable();        /* 打开处理器中断  */
    IntEnable(INT_UART0);       /* 打开串口0中断   */
    UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT); /* 串口中断使能--接收中断 和 接收超时中断 */
 UARTEnable(UART0_BASE);       /* 使能串口        */
}
 
/*  串口0中断函数  */
void UART0_ISR(void)
{
    unsigned long ulStatus;
    ulStatus = UARTIntStatus(UART0_BASE, true);   /* 获取中断状态   */
    UARTIntClear(UART0_BASE, ulStatus);     /* 清除中断标志位 */
    while(UARTCharsAvail(UART0_BASE))     /* 这里等待接收字符  */
    {
  /* 将接收的字符发送出去 */
        UARTCharPutNonBlocking(UART0_BASE, UARTCharGetNonBlocking(UART0_BASE));
    }
}
//void UART0_ISR (void)
//{
//    UARTIntClear(UART0_BASE, UART_INT_RX | UART_INT_RT);   /* 清除中断标志位  */
// UARTCharPutNonBlocking(UART0_BASE, UARTCharGet(UART0_BASE));  /* 发送接收到的字符  */
//}
--------------------------
文件myUART.h
#include "LM3Sxxx.h"

/*   串口0初始化  */
extern void UART0_Init(unsigned long ulBaudRate);
/*  串口0中断服务函数  */
extern void UART0_ISR (void);
 
未完待续...
 

UART.zip

626.32 KB, 下载次数: 150

最新回复

EK-lm3s811超级终端的哪来的  详情 回复 发表于 2012-10-22 09:36
 
点赞 关注

回复
举报

40

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
请问我怎么以调用UART0_Init就进异常,就死机了啊,怎么回事啊?
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
知道了,是在启动文件的中断向量表里没设置。。。。。。。
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

4
 
开发板上不是没有转RS232的器件吗?你上面弄的都好使吗?我怎么发不出数据
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

5
 

原帖由 aaa2742 于 2011-5-30 14:39 发表 开发板上不是没有转RS232的器件吗?你上面弄的都好使吗?我怎么发不出数据

 

FT2232虚拟出了一个串口,接在uart0上了,可以直接用,毋须外接232那些了,挺好用的喔。

 
 
 

回复

2113

帖子

0

TA的资源

裸片初长成(初级)

6
 

原帖由 David_Lee 于 2011-5-31 16:18 发表   FT2232虚拟出了一个串口,接在uart0上了,可以直接用,毋须外接232那些了,挺好用的喔。

 

能再说清楚一些不,我试着玩了一下你写的程序,但是就是没输出。

我是在UART0口上接了一个MAX3232,所以没有输出?

那用uart1口通过AX3232转换电平,可以实现不?

 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

7
 
EK-lm3s811的哪来的
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

8
 
EK-lm3s811超级终端的哪来的
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表