5113|10

7219

帖子

192

TA的资源

五彩晶圆(高级)

楼主
 

傻瓜菜鸟点亮M3第一个程序的学习 [复制链接]

   本人也是菜鸟初学,写一篇自己是如何学习的吧。

   高手绕道,只是一些简单的接受,和自己学习过程终于到问题的总结。

 

1.       安装keilARM  MDK4.20 不过4.20debug选择的好像多一点,支持新塘Nulink等等,还是很不错的,建议安装4.20吧,还有点颜色,挺漂亮的。当然MDK其他版本也可以 区别不是很大。

 

2.       安装驱动,插上板子以后,系统就会自动提示你安装驱动,然后你按照步骤来就可以了,难度不大。我一般不选自动安装,这样时间比较长而且容易出错吧,我一般都是选择路劲之后再安装,比较快速吧,个人感觉

 

3.       自己建立工程。

开始的操作大家都知道

这里注意千万不要想当然的选M3,刚开始我也以为只要选M3,最后编译时候问题比较大

 

应该是选下图

4.       最好把INC drivelib的头文件复制到同一个文件夹里,在文件夹里在新建其他程序的文件夹,这样就不会出现找不到.h

这就是为什么我在论坛下载别人的程序为什么老是编译不成功的原因,每次都是少这个少那个,其实只要放到这个文件夹里问题基本都解决了,不要随便把你的工程创建到别的地方去。

 

5.       进行编程

 

现在来弄一个简单的GPIO操作的LED小程序。

 

首先,了解下实验板上的LED灯是如何接的。

 

 

 

其次,来了解几个GPIO的寄存器

1.SYSCTL_RCGC2_GPIOC

 

 

了解了这两个寄存器,就可以来弄个小程序玩玩了。

 

 

再者。

时钟选择和JTAG防锁死最好加上。这个坛子里有人遇到过问题,所以一直不敢乱下载程序,每次下载时都会加上这两个,防患未然,谁也不想自己的板子挂了,所以小心驶得万年船,大家都加上吧。

 

[ 本帖最后由 常见泽1 于 2011-5-15 08:19 编辑 ]

最新回复

呵呵 学习了  详情 回复 发表于 2012-9-1 17:35
 
点赞 关注

回复
举报

7219

帖子

192

TA的资源

五彩晶圆(高级)

沙发
 

再者。时钟选择和JTAG防锁死最好加上。这个坛子里有人遇到过问题,所以一直不敢乱下载程序,每次下载时都会加上这两个,防患未然,谁也不想自己的板子挂了,所以小心驶得万年船,大家都加上吧。 PS:附上这个简单的小程序

#include "inc/hw_memmap.h"

 #include "inc/hw_types.h"

#include "inc/hw_gpio.h"

#include "driverlib/debug.h"

 #include "driverlib/gpio.h"

 #include "driverlib/sysctl.h"


#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_gpio.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
#include "driverlib/systick.h"
#include "driverlib/adc.h"
#include "inc/lm3s811.h"
#include "driverlib/timer.h"
#include "driverlib/interrupt.h"
#include "inc/hw_ints.h"
#include "inc/lm3s811.h"

void JtagWait(void)
{
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);                           //  使能KEY所在的GPIO端口
    GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, GPIO_PIN_4);                       //  设置KEY所在管脚为输入

    if (GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4) == 0x00)             //  若复位时按下KEY,则进入
    {
        for (;;);                                           //  死循环,以等待JTAG连接
    }

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


int main(void)
{
 volatile unsigned long Loop;
  JtagWait();
  SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ);//配置系统时钟
 

  /*  EV板上 D2 LED 接的PC5 */
   SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOC;  // 控制端口C的时钟选通
   Loop = 555;//因为上面那句涉及到时钟操作,因此需要稍作停留,等待时钟稳定,才能对外设操作?
   GPIO_PORTC_DIR_R |= 0x20;             //PC5方向为输出
   GPIO_PORTC_DEN_R |= 0x20;    //GPIO数字使能
   while(1)
   {
      GPIO_PORTC_DATA_R |= 0x20;     //输出高电平
   for(Loop = 0; Loop < 100000; Loop++)
   {}
   GPIO_PORTC_DATA_R &= ~(0x20);
      for(Loop = 0; Loop < 100000; Loop++)
   {}  
   }
}

= SYSCTL_RCGC2_R; 这一句貌似没有实际含义 可是少了这一句就是直接不亮了请指教( 问题已经解决 

  解决来自DAVID_LEE  

 因为上面那句涉及到时钟操作,因此需要稍作停留,等待时钟稳定,才能对外设操作?

 )

[ 本帖最后由 常见泽1 于 2011-5-16 13:26 编辑 ]
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

板凳
 
good, come on.
 
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

4
 

回复 板凳 David_Lee 的帖子

LEE帮我解决那个问题啦 请你喝茶
 
 
 

回复

2万

帖子

71

TA的资源

管理员

5
 

回复 4楼 常见泽1 的帖子

神奇 ?lee只说了一句“加油”就解决问题了 那我们说两句  呵呵  也要喝茶
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

6
 

原帖由 常见泽1 于 2011-5-15 09:08 发表 LEE帮我解决那个问题啦 请你喝茶

 

TI例程也有那句么?

SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOC; // 控制端口C的时钟选通

会不会是因为上面那句涉及到时钟操作,因此需要稍作停留,等待时钟稳定,才能对外设操作?

把它换用其它的指令看看,比如for(Loop = 0; Loop < 100000; Loop++);延时看看是不是一样可行。

 
 
 

回复

246

帖子

0

TA的资源

纯净的硅(初级)

7
 
呵呵呵 我最近刚刚学会了驱动h桥控制电机
一起加油吧!
 
个人签名坚持不懈!
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

8
 

回复 5楼 soso 的帖子

哈哈 因为小李说 加油 所以我知道 那句话应该是起到一个小延时作用 哈哈
 
 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

9
 

回复 6楼 David_Lee 的帖子

解释完全正确 我随便把LOOP 付个值  都可以的 LEE
 
 
 

回复

4138

帖子

0

TA的资源

五彩晶圆(中级)

10
 
学习了,这几天正忙着看资料呢,所以没有很早就弄,怕弄错了锁死嘿嘿
 
 
 

回复

36

帖子

0

TA的资源

一粒金砂(中级)

11
 
呵呵 学习了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表