LM3S811使用心得—从零开始学Cortex-M3内核单片机(三)

[复制链接]
4190|12
手机看帖
扫描二维码
随时随地手机跟帖
reayfei|  楼主 | 2011-12-5 21:37 | 显示全部楼层 |阅读模式
LM3S811使用心得—从零开始学Cortex-M3内核单片机(三)

关于EK_LM3S811不可不知的资料



实验2 基于EK-LM3S811实现UART0通讯

     EK-LM3S811自带了Key、LED和FT2232D虚拟出来的串口。

     FT2232D虚拟出来的串口是已经跟LM3S811的uart0连接的,所以,基于uart0的程序都可以直接用这个Stellaris virtual serial COMport。

1,Error: failed to execute 'BIN40\ArmCC'  运行Keil 时出现的问题?
    “C:\Keil\ARM\BIN40\ArmCC.EXE”这个程序不在了。重装了一次Keil,变得好用了。

2,Project -> Option for Target……或者按快捷键Alt+F7。在Target标签里,Xtal输入板子对应的晶振6MHz,这个设置错了的话,可能会导致程序下载不了。C/C++标签里,在Include Paths里添加
Options for Target LM3S811.jpg
    点击“…”按钮。
浏览文件夹.jpg
    点击StellarisWare_for_EK-LM3S811,因为inc/和driverlib/两个文件夹位于StellarisWare_for_EK-LM3S811文件夹内。然后确定。

3,添加.lib文件的方法。
Add Files to Group Lib.jpg
前提:把TI给的StellarisWare_for_EK-LM3S811解压出来放在一起,我放在C:\TI\StellarisWare_for_EK-LM3S811。
Lib文件位于C:\TI\StellarisWare_for_EK-LM3S811\driverlib\rvmdk
使用lib文件,不需要提供源码c文件给别人,起到了一定的保密效果。只需要把lib及函数的说明和使用方法交给用户,用户直接调用即可。
注意:.lib文件并没有包含宏定义等信息,所以,和.lib配套的.h文件是不能省掉的。

UART0.jpg
源程序:

#include"inc/hw_types.h"
#include"inc/hw_memmap.h"
#include"driverlib/gpio.h"
#include"driverlib/uart.h"

//防止JTAG失效,上电或者复位时按下板上的USER按键,进去此函数,板上LED一直闪烁。
voidJtagWait(void)
{

unsigned long i;

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
// 使能KEY、LED所在的PC端口

GPIOPinTypeGPIOInput(GPIO_PORTC_BASE,GPIO_PIN_4);
// 设置KEY所在管脚PC4为输入

GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,GPIO_PIN_5 );
// 设置LED所在管脚PC5为输出

if (GPIOPinRead(GPIO_PORTC_BASE,GPIO_PIN_4) == 0x00)
// 若复位或上电时按下KEY,则进入

{


while(1)
//死循环,以等待JTAG连接,LED闪烁

{

for(i=0;i<200000;i++);

GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,GPIO_PIN_5);
//点亮LED

for(i=0;i<200000;i++);

GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_5,~GPIO_PIN_5);
//熄灭LED

}

}

SysCtlPeripheralDisable(SYSCTL_PERIPH_GPIOC);
// 禁止KEY所在的GPIO端口
}

// Send
strings to the UART0.
voidUart0SendStrings(unsigned char *pStr)
{

while((*pStr!='\0'))

{

//Sends the character ucData to thetransmit FIFO for the specified port.

//If there is no space available inthe transmit FIFO, this

//function will wait until there isspace available before return-ing.

UARTCharPut(UART0_BASE, *(pStr++));
//发送字符,若FIFO满,自动等待

//Writes the character ucData tothe transmit FIFO for the speci?ed port.

//This function does not block, soif there is no space available,

//then a false is returned, and theapplication will have to retry the function later.

//UARTCharPutNonBlocking(UART0_BASE,*(pStr++));
//发送字符,若FIFO满,返回false

}
}

//主函数
int main(void)
{

//函数开始,调用Jtag防锁死程序

JtagWait();

// Set the clocking to run directly fromthe crystal.配置时钟

SysCtlClockSet(SYSCTL_SYSDIV_1 |SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |

SYSCTL_XTAL_6MHZ);

// Enable the peripherals used by thisexample.

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

// Set GPIO A0 and A1 as UART pins.

GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0| GPIO_PIN_1);

// Configure the UART for 9600, 8-N-1operation.

UARTConfigSetExpClk(UART0_BASE,SysCtlClockGet(), 9600,

(UART_CONFIG_WLEN_8 |UART_CONFIG_STOP_ONE |

UART_CONFIG_PAR_NONE));

//发送一串字符

Uart0SendStrings("Hello,21ic!\n");

Uart0SendStrings("I'mreayfei!\n");

while(1)

{

;

}
}

LM3S811使用心得—从零开始学Cortex-M3内核单片机(三).pdf

244.67 KB

FT2232中文资料.pdf

714.08 KB

相关帖子

zb0830| | 2011-12-5 21:57 | 显示全部楼层
不错的资料,谢谢分享,呵呵。顶一下~

使用特权

评论回复
reayfei|  楼主 | 2011-12-6 08:05 | 显示全部楼层
2# zb0830 谢谢支持

使用特权

评论回复
tianm| | 2011-12-6 08:23 | 显示全部楼层
LZ发帖辛苦了 如果能把资源上传到21的服务器上就更好了

使用特权

评论回复
reayfei|  楼主 | 2011-12-6 09:27 | 显示全部楼层
4# tianm 再接再厉,计划写(四)了。

使用特权

评论回复
qixiyi| | 2011-12-6 18:46 | 显示全部楼层
写的不错

使用特权

评论回复
czdo| | 2011-12-6 21:17 | 显示全部楼层
第三期来的真快!!!多谢楼主分享!!!

使用特权

评论回复
reayfei|  楼主 | 2011-12-6 22:50 | 显示全部楼层
7# czdo (四)刚刚推出,别忘了顶哦,呵呵!

使用特权

评论回复
reayfei|  楼主 | 2011-12-8 08:21 | 显示全部楼层
6# qixiyi 谢谢

使用特权

评论回复
qixiyi| | 2011-12-8 12:27 | 显示全部楼层
LZ辛苦

使用特权

评论回复
fengzhongfeiwu| | 2011-12-8 12:46 | 显示全部楼层
10# qixiyi 好整齐啊 QQ.gif
QQ.gif

使用特权

评论回复
qixiyi| | 2011-12-8 12:48 | 显示全部楼层
11# fengzhongfeiwu 归功于我

使用特权

评论回复
reayfei|  楼主 | 2011-12-8 12:56 | 显示全部楼层
11# fengzhongfeiwu 他可能是托儿

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:WiFi包邮:http://item.taobao.com/item.htm?id=19254130983

15

主题

395

帖子

2

粉丝