找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3784|回复: 1
收起左侧

atmega128 新手求助!

[复制链接]
ID:44410 发表于 2012-9-5 11:38 | 显示全部楼层 |阅读模式

#include <iom128v.h>
#include <macros.h>
#define uint unsigned int
#define uchar unsigned char

void led(uint led_no);
unsigned int key_press(void);
void main(void)
{

    uint led_no;
    DDRE|=BIT(2);
   PORTE|=BIT(2);
   DDRA=0xff;
   while(1)
  {
         led(key_press());
  }
}

unsigned int key_press(void)
{
     uint xx=5;
     return(xx);
}
void led(uint led_no)
{
   
 switch(led_no)
 {
     case 0x00:
    PORTA=0xff;
    break;
  case 0x01:
       PORTA=0xfe;
    break;
  case 0x02:
       PORTA=0xfd;
    break;
  case 0x03:
       PORTA=0xfb;
    break;
  case 0x04:
       PORTA=0xf7;
    break;
  case 0x05:
       PORTA=0xef;
    break;
  case 0x06:
       PORTA=0xdf;
    break;
  case 0x07:
       PORTA=0xbf;
    break;
     case 0x08:
       PORTA=0x7f;
    break;
  default:
       break;
  }
}

 

 

想通过key_press()返回一个值,用这个值控制led灯的亮灭。。可是后面发现key_press()根本不能返回,根本没有运行。。这个是用i编译器编译的。。

注:led()函数时可以调用的,就key_press不能调用。。。

 

回复

使用道具 举报

ID:44618 发表于 2012-9-12 19:37 | 显示全部楼层
朋友,我试过了,函数能返回的,是不是你工程配置问题
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表