打印
[STM8]

STM8 遇到的问题

[复制链接]
1914|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无冕之王|  楼主 | 2010-6-7 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人刚刚接触STM8S,请教一下大虾们几个问题,我使用的编译器是cosmic,编辑器STVD.

1. 怎样定义全局变量,
2. 怎样声明一个函数为外部,其它.C文件都可调用?
3. 怎样声明像51里面对字节中位进行操作?还有其字节该怎样定义.

本人不盛感激!在此谢过了...
沙发
香水城| | 2010-6-7 21:37 | 只看该作者
你这些问题不是STM8S特有的问题,也不是COSMIC特有的问题,是C语言本身的问题,请找一本C语言的书好好看看吧。

使用特权

评论回复
板凳
无冕之王|  楼主 | 2010-6-7 21:52 | 只看该作者
好的,我先复习复习C语言:)

使用特权

评论回复
地板
yyx_200| | 2010-6-8 14:35 | 只看该作者
方法:
1)在主文件里最开头加#define _MAINFILE_

#define _MAINFILE_ //在主.c文件中定义一个标志
#include "cfg.h"

void main(void)
{
    do{
    }while(your1_var);//这个变量在your1.h中定义
                      //在这里不用加extern unsigned char your1_var;
}

2)建一个配置文件cfg.h
//---------------------------------------------------
// cfg.h
//---------------------------------------------------
#ifndef _CFG_H_
#define _CFG_H_

// 如果是主文件就定义变量或函数原型,否则就是外部声明
#ifdef        _MAINFILE_
#define        ext
#else
#define        ext extern
#endif
//---------------------------------------------------
//把工程中所有的.H文件加入到这个文件中
#include "your1.h"
#include "your2.h"
#include "your3.h"

#endif //_CFG_H_


3)在其他.H中添加变量,并将这个.H文件包含在CFG.H中
//---------------------------------------------------
// your1.h
//---------------------------------------------------
#ifndef _YOUR1_H_
#define _YOUR1_H_
//声明公共变量
ext unsigned char your1_var;
#endif

4)在所有.c中添加包含CFG.H
//---------------------------------------------------
// your1.c
//---------------------------------------------------
#include "cfg.h"

//---------------------------------------------------
// your2.c
//---------------------------------------------------
#include "cfg.h"

//---------------------------------------------------
// your3.c
//---------------------------------------------------
#include "cfg.h"

使用特权

评论回复
5
火箭球迷| | 2010-6-8 21:12 | 只看该作者
没看太明白楼上说的

使用特权

评论回复
6
司徒老鹰| | 2010-6-8 22:09 | 只看该作者
C是最基本的

使用特权

评论回复
7
yyx_200| | 2010-6-11 09:57 | 只看该作者
悟空,源程序都贴出来了.看不懂就试编译一下.多加几个变量试试.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:喜欢远行

160

主题

3331

帖子

0

粉丝