4062|6

336

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

LPC1500体验+之三_led闪烁 [复制链接]

本帖最后由 youzizhile 于 2014-7-28 21:02 编辑

自从安装驱动和更新debug 镜像成功后,就迫不及待的设计程序。首先是下载最新的示例代码:


参照蓝雨夜的帖子@蓝雨夜 编译相应的程序生成chip_15xx_lib.lib和board_nxp_lpcepresso_1549.lib,然后设置periph_blinky为活动工程,但是编译时总是说board_nxp_lpcepresso_1549.lib无法打开或者文件不存在,尝试了很多次都是同样的问题,而chip_15xx_lib.lib没有类似的问题。
然后就把生成的board_nxp_lpcepresso_1549.lib移动到另外一个路径不是很深的文件夹,删除原来的文件,这次编译成功。
在main函数添加以下几句话,控制三个灯同时闪烁。        
        Board_LED_Set(0, false);
        Board_LED_Set(1, false);
         Board_LED_Set(2, false);
同时要修改
中断控制程序:
/**
* @brief        Handle interrupt from SysTick timer
* @return        Nothing
*/
void SysTick_Handler(void)
{
        Board_LED_Toggle(0);
        Board_LED_Toggle(1);
        Board_LED_Toggle(2);
}



然后三个灯同时闪烁。


几个相关led控制函数的原型如下:源文件在board.c中
#define MAXLEDS 3
static const uint8_t ledpins[MAXLEDS] = {25, 3, 1};
static const uint8_t ledports[MAXLEDS] = {0, 0, 1};

/* Initializes board LED(s) */
static void Board_LED_Init(void)
{
        int idx;

        for (idx = 0; idx < MAXLEDS; idx++) {
                /* Set the GPIO as output with initial state off (high) */
                Chip_GPIO_SetPinDIROutput(LPC_GPIO, ledports[idx], ledpins[idx]);
                Chip_GPIO_SetPinState(LPC_GPIO, ledports[idx], ledpins[idx], true);
        }
}

/* Sets the state of a board LED to on or off */
void Board_LED_Set(uint8_t LEDNumber, bool On)
{
        if (LEDNumber < MAXLEDS) {
                /* Toggle state, low is on, high is off */
                Chip_GPIO_SetPinState(LPC_GPIO, ledports[LEDNumber], ledpins[LEDNumber], !On);
        }
}

/* Returns the current state of a board LED */
bool Board_LED_Test(uint8_t LEDNumber)
{
        bool state = false;

        if (LEDNumber < MAXLEDS) {
                state = !Chip_GPIO_GetPinState(LPC_GPIO, ledports[LEDNumber], ledpins[LEDNumber]);
        }

        return state;
}

/* Toggles the current state of a board LED */
void Board_LED_Toggle(uint8_t LEDNumber)
{
        Chip_GPIO_SetPinToggle(LPC_GPIO, ledports[LEDNumber], ledpins[LEDNumber]);
}

/* Set up and initialize all required blocks and functions related to the
   board hardware */
void Board_Init(void)
{
        /* Sets up DEBUG UART */
        DEBUGINIT();

        /* Initialize GPIO */
        Chip_GPIO_Init(LPC_GPIO);

        /* Initialize LEDs */
        Board_LED_Init();
}

我的其它帖子:
LPC1500体验+开发环境的构建
LPC1500体验+驱动步进电机设计

此帖出自NXP MCU论坛

最新回复

那看看错误的详细提示是什么问题了!慢慢找原因了!   详情 回复 发表于 2014-7-26 10:05
点赞 关注
个人签名每一刻都是崭新的,加油!
 

回复
举报

5310

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 
是不是LPCOPEN不要放中文路径,不能太深,呵呵

你编译前试着先CLEARN PROJECT看看!

我感觉用KEIL4。74来调试,总感觉有问题一样,再线调试很不方便
此帖出自NXP MCU论坛
 
 
 

回复

336

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
我现在使用的是keil5,也试着clean project了,但是不行的,现在只有把board_nxp_lpcepresso_1549.lib放在d盘的工程路径下
此帖出自NXP MCU论坛
 
个人签名每一刻都是崭新的,加油!
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

4
 
youzizhile 发表于 2014-7-26 08:31
我现在使用的是keil5,也试着clean project了,但是不行的,现在只有把board_nxp_lpcepresso_1549.lib放在d ...

那看看错误的详细提示是什么问题了!慢慢找原因了!
此帖出自NXP MCU论坛
 
 
 

回复

336

帖子

0

TA的资源

纯净的硅(初级)

5
 
蓝雨夜 发表于 2014-7-26 10:05
那看看错误的详细提示是什么问题了!慢慢找原因了!

恩,错误说的是找不到文件或者路径不对,但是在工程中时包含这个路径的,我觉得应该是代码的路径深度太长的原因
此帖出自NXP MCU论坛
 
个人签名每一刻都是崭新的,加油!
 
 

回复

336

帖子

0

TA的资源

纯净的硅(初级)

6
 
JSD 发表于 2014-7-26 10:36
楼主 您好 看见你的板子 我流口水了  想跟你合作 做的板子

加油,共同学习
此帖出自NXP MCU论坛
 
个人签名每一刻都是崭新的,加油!
 
 

回复

336

帖子

0

TA的资源

纯净的硅(初级)

7
 
JSD 发表于 2014-7-26 11:30
谢谢 如果需要做板子的话 请联系我啊

好的
此帖出自NXP MCU论坛
 
个人签名每一刻都是崭新的,加油!
 
 

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

查找数据手册?

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