| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1481 人关注过本帖
标题:大神 帮忙解决下c函数里代码的重用问题
取消只看楼主 加入收藏
雷江
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-7
收藏
 问题点数:0 回复次数:3 
大神 帮忙解决下c函数里代码的重用问题
求助 本人在使用一个软件编程时(51单片机) 想把程序模块化处理 结果总是各种重复定义 未定义 以及打开.c文件失败之类的错误
请有经验的大神帮忙 我该怎么编写底层函数 .h和.c 文件里如何编写 错误才最少呢

下面是我的函数:
运行结果总是各种未定义 求大神帮帮忙  主函数我还没弄

//Timer.c 文件函数
#include <reg52.h>
#include "MACROANDCONST1.h"

#define LED P1
#define LED_ON() LED=0x00;
#define LED_OFF() LED=0xff;

#define LED_PWM_LIMIT_MAX 99
#define LED_PWM_LIMIT_MIN 0

static uint8 s_u8TimCounter=0;
static uint8 s_u8LedDirection=0;
static int8 s_u8LedPWNCounter=0;

void Timer0Init(void)
{
    TMOD&=0xf0;
    TMOD|=0x01;
    TH0=0xff;
    TL0=0x47;
    TR0=1;
    ET0=1;

    }
void Time0Isr(void) interrupt 1
{
    static int8 s_s8PWMCounter=0;
    TH0=0xf0;
    TL0=0x47;
   
    if(s_u8TimeCounter++>=100)
    {
        s_u8TimeCounter=0;
        if((s_s8LedPWMCounter<=LED_PWM_LIMIT_MAX)&&(0==s_u8LedDirection))
        {
            s_s8LedPWMCounter++;
            if(s_s8LedPWMCounter>LED_PWM_LIMIT_MAX)
            {
                s_u8LedDirection=1;
                s_s8LedPWMCounter=LED_PWM_LIMIT_MAX;
                }
             }
        if((s_s8LedPWMCounter>=LED_PWM_LIMIT_MIN)&&(1==s_u8LedDirection))
        {
            s_s8LedPWMCounter--;
            if(s_s8LedPWMCounter<LED_PWM_LIMIT_MIN)
            {
                s_u8LedDirection=0;
                s_s8LedPWMCounter=LED_PWM_LILMIT_MIN;
                }
                }
            s_s8PWMCounter=s_s8LedPWMCounter;
            }
        if(s_s8PWMCounter>0)
        {
            LED_ON();
            s_s8PWMCounter--;
            }
          else
          {
          LED_OFF();
          }
         }


//MacroAndConst.h文件函数:
#ifndef _MACRO_AND_CONST_H_
#define _MACRO_AND_CONST_H_

typedef unsigned int uint16;
typedef unsigned int UINT;
typedef unsigned int uint;
typedef unsigned int UINT16;
typedef unsigned int word;
typedef unsigned int WORD;
typedef int             int16;
typedef int             INT16;
typedef unsigned long uint32;

typedef unsigned long UINT32;
typedef unsigned long DWORD;
typedef unsigned long dword;
typedef long           int32;
typedef long            INT32;
typedef signed char   int8;
typedef signed char   INT8;
typedef unsigned char byte;
typedef unsigned char BYTE;
typedef unsigned char uchar;
typedef unsigned char UINT8;
typedef unsigned char uint8;
typedef unsigned char BOOL;

#endif



[ 本帖最后由 雷江 于 2013-4-8 00:04 编辑 ]
搜索更多相关主题的帖子: 软件编程 include 如何 
2013-04-07 08:31
雷江
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-7
收藏
得分:0 
回复 2楼 peach5460
现在我遇到的这个问题 怎么说呢 其实就是头文件不会写 反复的查找资料我还是没有头绪 这方面的内容课堂上几乎没讲过 现在面临一些复杂的 近千行的代码很无奈啊
2013-04-07 23:00
雷江
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-7
收藏
得分:0 
回复 4楼 TonyDeng
是啊 我现在大三 是真心想做点东西 马上就快毕业了 也不打算考研 真心觉得大学里不自己做点东西 真的是在浪费生命啊
 非常感谢你 无论怎么说
2013-04-07 23:03
雷江
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-7
收藏
得分:0 
回复 9楼 TonyDeng
您说的不错 可是现在我的问题就在这里 编译后很多变量没有定义 这是头文件的问题 程序中MacroAndConst.h是做好的一些变量形式的声明 我在Timer里调用是没有成功的 这到底是怎么回事呢
2013-04-08 11:23
快速回复:大神 帮忙解决下c函数里代码的重用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017285 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved