[原创] 基于Keil的LM3S811调试笔记--串口的操作

liuceone   2011-5-4 18:59 楼主

现在把调式串口的代码以及现象贴出来供大家分享,一些基础代码就没必要贴出来了!

首先是线束的链接,因为板子上面没有MAX202电平转换芯片,故自己外部加了232电平转换!

如下图所示:

 

4.bmp

 

来个侧面的:

5.bmp

然后就是书写代码,得到的遐想如下:没格一秒发送一串数据,数据如下:

6.bmp

 

 

 

 

回复评论 (21)

基于Keil的LM3S811调试笔记--串口的操作

其实代码我并不像贴出来,因为那是比较基础的代码,自己花点时间肯定是没啥问题的!底层的驱动TI里面也有的!这就省去了我们很多的时间!!
点赞  2011-5-4 19:02

不错顶下

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2011-5-4 20:54
大鱼哥 有空教我怎么简单操作啊
点赞  2011-5-4 20:55

回复 4楼 常见泽1 的帖子

你可以去我发的学习心得,那里有简单操作,哈哈,为自己做个广告啊,不过真的有,有例程,有图片,还有word的文档,可以让你简单入门,也可以进行简单操作,呵呵,不信你就去我那里试试啊!
我爱电子!
点赞  2011-5-4 21:14

回复 楼主 liuceone 的帖子

一看鱼哥你就是没认真的,仔细的看我昨天下午更新的使用心得,哈哈,我上传一个word的附件,里边最后举的例子就是这个的串口,晒一下,嘿嘿嘿,我还写的是汉语呢,hoho~
我爱电子!
点赞  2011-5-4 21:17

引用: 原帖由 liuceone 于 2011-5-4 18:59 发表 现在把调式串口的代码以及现象贴出来供大家分享,一些基础代码就没必要贴出来了!首先是线束的链接,因为板子上面没有MAX202电平转换芯片,故自己外部加了232电平转换!如下图所示:   63766   来 ...

 

如果用的是uart0,不用自己外接uart通信电路。板子ft2232虚拟出来的com可以直接用的,它已经连接了lm3s811的uart0,没必要自己多此一举。

点赞  2011-5-4 21:31

基于Keil的LM3S811调试笔记--串口的操作

已经很认真了,这串口的基本操作已经有人上传了一些代码所以我就不上传了!要不然就造成了资源的浪费了
点赞  2011-5-4 21:32
很好,第一次,支持一下大鱼,原来在一起竟 闹了哈哈哈,赞一个,加油,学习力
点赞  2011-5-4 22:19

回复 5楼 jjkwz 的帖子

好的 谢谢啊
点赞  2011-5-5 09:18

回复 9楼 鑫海宝贝 的帖子

鑫海 加油哈
点赞  2011-5-5 09:18
楼主的811板子好像是直接和MAX202连接的,中间有没有串电阻?
如果没有,可以验证811的引脚应该是5V兼容的。
点赞  2011-5-5 09:44
点赞  2012-10-29 20:26

回复 楼主 liuceone 的帖子

你好,你能够把你的基础初始化代码给我参考一下吗?我怎么就搞不定呢?当然我用的是uCOS ii
点赞  2013-1-24 11:21

回复 楼主 liuceone 的帖子

开始没有注意到学习笔记,现在看了!我的是6911的,但是很奇怪,这个不需要注册吗?不是有中断注册函数吗?不然怎么认这个是串口中断 呢?难道是默认的啊?
点赞  2013-1-24 11:25
搞定了!
点赞  2013-1-24 11:41

回复 16楼 lixmlxm 的帖子

说说搞定的过程呗  HOHO
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-1-24 11:51

回复 17楼 soso 的帖子

给你程序哈!
点赞  2013-1-24 16:47

回复 17楼 soso 的帖子

主要还是初始化的问题,另外我的是uCOS!!需要在keil里注册中断向量!不过我现在遇到另一个问题,两个不中断谁先来就响应了谁的,我现在在想,应该是中断有限权设置问题吧,还在调试过程中!

void init_urat0_Int(void)
{
    // SysCtlLDOSet(SYSCTL_LDO_2_75V);
        //Sysclk=SysCtlClockGet();
        SysCtlClockSet(SYSCTL_XTAL_6MHZ | SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL  | SYSCTL_OSC_MAIN );        // The crystal is 6MHz
      
     // SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ);         //  设置晶振为时钟源。

            SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);

      SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

       

        GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
  
         //  初始化IO口。
        UARTConfigSet(UART0_BASE, 9600, (UART_CONFIG_WLEN_8 |
                                     UART_CONFIG_STOP_ONE |
                                     UART_CONFIG_PAR_NONE));
    //  配置UART  为 9600 波特率, 8-N-1 模式发送数据。
         UARTIntDisable(UART0_BASE, UART_INT_RX); // 使能发送前先禁能。
      //  UARTIntRegister(UART0_BASE,UART0RxIntHandler);
    //   UARTIntRegister(UART0_BASE,UART0_ISR);
          
        IntEnable(INT_UART0);       /* 打开串口0中断   */
       UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);
      //HWREG(UART0_BASE + 0x34) = (0x01<<3);          //IFLS 中断级别选择
       UARTEnable(UART0_BASE);  
         //IntMasterEnable();
       #if 0
        SysCtlLDOSet(SYSCTL_LDO_2_75V);
        Sysclk=SysCtlClockGet();
        SysCtlClockSet(SYSCTL_XTAL_6MHZ | SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL  | SYSCTL_OSC_MAIN );        // The crystal is 6MHz
        //Sysclk=SysCtlClockGet();

        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);         //使能RX/TX所在的GPIO端口
        SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);        //使能UART模块
        GPIOPinTypeUART(GPIO_PORTA_BASE,GPIO_PIN_0 | GPIO_PIN_1);// 配置RX/TX所在管脚为UART收发功能
        UARTConfigSet(UART0_BASE,9600,UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE);
        //配置UART端口、波特率:9600、 数据位:8、停止位:1、 校验位:无
        UARTEnable(UART0_BASE);         // 使能UART端口
        Sysclk=SysCtlClockGet();
      #endif
}
点赞  2013-1-24 16:50

回复 19楼 lixmlxm 的帖子

加油加油
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-1-24 16:56
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复