单片机定义头文件timer.h时为什么这么写?

单片机定义头文件timer.h时为什么这么写?,第1张

一个简尺高单的问题搞的这么复杂,建议你还是把C语言好好补补课把,C语言里面写的很清楚,

#ifndef __TIMER_H__

#define __TIMER_H__

#endif

上面这几句是宏定义头文件,防止被恶意修改,#endif 定义结束陵乱尺,如果陪枣你换名字也可以,这个是你自己定义的,可以随便定义,例如以下定义:

#ifndef __ T0_H__

#ifndef __ T0_H__

#endif

注意你在调用头文件的时候,不许安装你的宏定义进行调用,#inlude "T0.H"

extern 是外部变量,表示可以在别的文件中直接调用

函数名称: localtime

函数原型: struct tm *localtime(const time_t *timer)

函数功能: 返回一个以tm结构表达的机器漏判梁时间信息

函数返回: 以tm结构表达的时间,结构tm定义如下:

#ifndef _TM_DEFINED

struct tm {

int tm_sec/* 秒 – 取值区间为[0,59] */

int tm_min/* 分 - 取值区间为[0,59] */

int tm_hour/* 时 - 取值区间为[0,23] */

int tm_mday/* 一个月中的日期 - 取值返运区间为[1,31] */

int tm_mon/* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */

int tm_year/* 年份,其值等于实际年份减去1900 */

int tm_wday/* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */

int tm_yday/* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */

int tm_isdst/* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/

}

#define _TM_DEFINED

#endif

参数说明: timer-使用time()函数获得的机器时间

所属文件: <time.h>

#include<time.h>

#include<stdio.h>

#include<dos.h>

int main()

{

time_t timer

struct tm *tblock

timer = time(NULL)

tblock = localtime(&timer)

printf("Local time is: %s", asctime(tblock))

return 0

}

函数名称: asctime

函数原型: char* asctime(struct tm * ptr)

函数功能: 得到机器时间(日期时间转换为ASCII码)

函数返回: 返回的时间字符串格式为:星期,月,日,小时:分:秒,年

参数说明: 结构指针ptr应通过函数localtime()和gmtime()得到

函数名称: ctime

函数原型: char *ctime(const time_t *time)

函数功能: 得到日历时间

函数返回: 返回字符串格式:星期,月,日,小时:分:秒,年

参数说明: time-该参数应由函数time获得

所属文件: <time.h>

#include<stdio.h>

#include<time.h>

int main()

{

time_t t

time(&t)

printf("Today's date and time: %s", ctime(&t))

return 0

}

函数名称: difftime

函数原型: double difftime(time_t time2, time_t time1)

函数功能: 得到两次机器时间差,单位为秒

函数返回: 时间差,单位为秒

参数说明: time1-机器时间一,time2-机器时间二.该参数应使用time函数获得

所属文件: <time.h>

#include<time.h>

#include<stdio.h>

#include<windows.h>

int main()

{

time_t start, end

system("cls")//清屏

time(&start)

Sleep(5000)//等待5秒,Sleep()函数包含在windows.h的头文件里,以毫秒为单位

time(&end)

printf("The difference is: %f seconds", difftime(end, start))

return 0

}

函数名称: gmtime

函数原型: struct tm *gmtime(time_t *time)

函数功能: 得到以结构tm表示的时间信息

函数返回: 以结构tm表示的时间信息指针

参数说明冲敏: time-用函数time()得到的时间信息

所属文件: <time.h>

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#include<dos.h>

char*tzstr="TZ=PST8PDT"

int main()

{

time_t t

struct tm *gmt,*area

putenv(tzstr)

tzset()

t = time(NULL)

area = localtime(&t)

printf("Local time is: %s", asctime(area))

gmt = gmtime(&t)

printf("GMT is: %s", asctime(gmt))

return 0

}

函数名称: time

函数原型: time_t time(time_t *timer)

函数功能: 得到系统当前的日历时间

函数返回: 系统当前日历时间,如果不能获得当前日历时间,则返回-1

参数说明: timer=NULL时得到机器日历时间,timer为有效指针时,更新timer为系统当前时间,time_t是一个long类型

所属文件: <time.h>

#include<time.h>

#include<stdio.h>

#include<dos.h>

int ain()

{

time_t t

t = time(NULL)//默认1970-1-1

printf("The number of seconds since January1, 1970 is %ld", t)

return 0

}

函数名称: tzset

函数原型: void tzset(void)

函数功能: UNIX兼容函数,用于得到时区,在DOS环境下无用途

函数返回:

参数说明:

所属文件: <time.h>

#include<time.h>

#include<stdlib.h>

#include<stdio.h>

int main()

{

time_t td

putenv("TZ=PST8PDT")

tzset()

time(&td)

printf("Current time = %s", asctime(localtime(&td)))

return 0

}

===============

<windows.h>

Sleep(int delay)实现延迟,单位毫秒

================

void getto(int x,int y)//光标定位,可用来设置红心位置,蛇初始位置,信息打印位置等

{

COORD c

c.X=y

c.Y=x

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c)

}

void color(int x)//设置文本颜色,涂色

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x)

}

==============

<conio.h>

getch()不带回显输入可漏绝族用于方向键识别

方向键由两位asc构成,第一位都是224

第二位:上72 ;下80 ;左75;右77

因此可以返弊如此判断

if(getch()==224)//公宏伍共asc码

{

char ch=getch()

switch(72): do something....

....


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12301282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存