7515|9

1144

帖子

17

TA的资源

纯净的硅(高级)

楼主
 

换了块LM4F120的板子,来个点灯程序,有坑 [复制链接]

 
开发板样子我就不发了,坛友发过的, 来个环境安装及点灯程序 首先,LM4F120在我安装的Keil4.74中找不到这个芯片,只有TM4C123的,实际上选这个也能正常运行下载, 后来还是装了个Keil 5.21,默认安装是不含任何芯片库的,要下载包 然后第一步,下载包,LM4F1XX的包,见图 安装,之后新建工程,选择对应的芯片后,选择运行环境配置 如图,勾上,下载 配置之后的文件结构如图所示, 这几个是必须的了,最精简的 再之后,写代码,如图 当然这个也有一个非常大的坑,造成一下载,就死机 调试发现一直在异常位置死循环
FaultISR
B FaultISR
此处,死循环。
找了好久原因没找到,
后来在官方找个例程发现没事,
找了2小时,终于发现用KEIL5新建的工程默认的RAM地址不对,这个BUG不应该啊。
RAM地址错误
手册中定义为如图所示:0x2000.0000
但默认工程却为0x1000000
手册中说明
另外此处也要改
然后下载终于正常亮灯了,
不容易
点灯代码:
正文:
点灯代码(三色灯循环亮,一秒亮一个)
  1. #include "lm4f120h5qr.h"

    #include "stdint.h"

    //PF 1,2,3 rbg灯

    //pf0 sw2,pf4 sw1

    uint32_t count=0;

    uint32_t led_index=0;

    int main(void){

    //PORTF端口时钟启用

    SYSCTL_RCGCGPIO_R|=(1<<5);

    //IO启用数字模式 PF1,2,3

    GPIO_PORTF_DEN_R|=(1<<1)|(1<<2)|(1<<3);

    //设置为输出模式

    GPIO_PORTF_DIR_R|=(1<<1)|(1<<2)|(1<<3);

    //SYSTICK重载定时器

    NVIC_ST_RELOAD_R=16000000/1000-1;

    //SYSTICK定时器 启用,开中断,使用系统时钟

    NVIC_ST_CTRL_R=(1<<0)|(1<<1)|(1<<2);

    //IO数据输出 红灯亮

    GPIO_PORTF_DATA_R=1<<1;

    while(1);

    }

    void SysTick_Handler(){

    count++;

    if(count==1000){

    count=0;

    led_index++;

    if(led_index>=3)

    led_index=0;

    //三个IO清零

    GPIO_PORTF_DATA_R&=(~(1<<1))&(~(1<<2))&(~(1<<3));

    //亮LED灯,依次亮

    GPIO_PORTF_DATA_R|=1<<(led_index+1);

    }

    }

    //end

复制代码

最新回复

  详情 回复 发表于 2016-12-27 14:35
 
点赞 关注(1)

回复
举报

13

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
学习了!!
 
 

回复

169

帖子

1

TA的资源

纯净的硅(初级)

板凳
 
这款芯片已经淘汰了。不过CCS软件中还有,最好使用CCS。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

4
 
路过 围观一下
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

5
 
路过学习一下!!!!!
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

6
 
路过学习一下!!!!!
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

7
 
路过学习一下!!!!!
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

8
 
路过学习一下!!!!!
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

9
 
路过学习一下!!!!!!!!!!!!
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

10
 
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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