现在把调式串口的代码以及现象贴出来供大家分享,一些基础代码就没必要贴出来了!
首先是线束的链接,因为板子上面没有MAX202电平转换芯片,故自己外部加了232电平转换!
如下图所示:
来个侧面的:
然后就是书写代码,得到的遐想如下:没格一秒发送一串数据,数据如下:
基于Keil的LM3S811调试笔记--串口的操作
其实代码我并不像贴出来,因为那是比较基础的代码,自己花点时间肯定是没啥问题的!底层的驱动TI里面也有的!这就省去了我们很多的时间!!
不错顶下
http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
回复 4楼 常见泽1 的帖子
你可以去我发的学习心得,那里有简单操作,哈哈,为自己做个广告啊,不过真的有,有例程,有图片,还有word的文档,可以让你简单入门,也可以进行简单操作,呵呵,不信你就去我那里试试啊!
回复 楼主 liuceone 的帖子
一看鱼哥你就是没认真的,仔细的看我昨天下午更新的使用心得,哈哈,我上传一个word的附件,里边最后举的例子就是这个的串口,晒一下,嘿嘿嘿,我还写的是汉语呢,hoho~
引用: 原帖由 liuceone 于 2011-5-4 18:59 发表 现在把调式串口的代码以及现象贴出来供大家分享,一些基础代码就没必要贴出来了!首先是线束的链接,因为板子上面没有MAX202电平转换芯片,故自己外部加了232电平转换!如下图所示: 63766 来 ...
如果用的是uart0,不用自己外接uart通信电路。板子ft2232虚拟出来的com可以直接用的,它已经连接了lm3s811的uart0,没必要自己多此一举。
基于Keil的LM3S811调试笔记--串口的操作
已经很认真了,这串口的基本操作已经有人上传了一些代码所以我就不上传了!要不然就造成了资源的浪费了
很好,第一次,支持一下大鱼,原来在一起竟 闹了哈哈哈,赞一个,加油,学习力
楼主的811板子好像是直接和MAX202连接的,中间有没有串电阻?
如果没有,可以验证811的引脚应该是5V兼容的。
回复 楼主 liuceone 的帖子
你好,你能够把你的基础初始化代码给我参考一下吗?我怎么就搞不定呢?当然我用的是uCOS ii
回复 楼主 liuceone 的帖子
开始没有注意到学习笔记,现在看了!我的是6911的,但是很奇怪,这个不需要注册吗?不是有中断注册函数吗?不然怎么认这个是串口中断 呢?难道是默认的啊?
回复 16楼 lixmlxm 的帖子
说说搞定的过程呗 HOHO
回复 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
}