µ¥Ïß³Ì
Single-Threaded(static) libc.lib
Debug Single-Threaded(static) libcd.lib(×Öĸd´ú±ídebug)
¶àÏß³Ì
Multithreaded(static) libcmt.lib
Multithreaded DLL msvcrt.lib
Debug Multithreaded(static) libcmtd.lib
Debug Multithreaded DLL  ......
µ¥Ïß³Ì
Single-Threaded(static) libc.lib
Debug Single-Threaded(static) libcd.lib(×Öĸd´ú±ídebug)
¶àÏß³Ì
Multithreaded(static) libcmt.lib
Multithreaded DLL msvcrt.lib
Debug Multithreaded(static) libcmtd.lib
Debug Multithreaded DLL  ......
¡¾ÊµÏÖ¹¦ÄÜ¡¿£ºLinuxϵÄC±à³Ì£º±àдһ¸ö³ÌÐò£¨¿â£©£¬ÊµÏÖ¶¨Ê±Æ÷£¨¼ÆÊ±Æ÷£©µÄ¹¦ÄÜ£¬ËüÄÜΪÓû§ÌṩÔÚͬһ½ø³ÌÖжà´ÎʹÓõĶ¨Ê±Æ÷¡£ÕâÀïÒªÇóÓÃÐźÅÀ´ÊµÏÖ¡£
¡¾½âÌâ˼·¡¿£º±àдһ¸ö½á¹¹ÌåTimer´ú±íÒ»¸ö¼ÆÊ±Æ÷£¬È»ºóÔÙ¶¨ÒåTimerÀàÐ͵ÄÊý×émyTimer[N]£¬ÓÃÀ´±£´æÎÒÃÇÉèÖõĶ¨Ê±Æ÷£»ÔÙ¶¨Ò庯ÊýsetTimer£¨£©Éú³É¼ÆÊ±Æ÷£¬²¢½«Éú³ÉµÄ¼ÆÊ±Æ÷±£´æµ½myTimerÖУ¬ÕâÑùͨ¹ý¶à´Îµ÷Ó㬾ͿÉÒÔÔÚͬһ¸ö½ø³ÌÖÐÉú³É¶à¸ö¼ÆÊ±Æ÷£»¶¨Òåtimeout()ÐźŴ¦Àíº¯Êý£¬Ã¿¸ôÒ»Ãë²úÉúÒ»¸öÐźţ¬Í¨¹ýµ÷ÓÃtimeout()¶ÔËùÓеĶ¨Ê±Æ÷ɨÃèÒ»±é£¬¼ì²éÄÄЩ¼ÆÊ±Æ÷³¬Ê±¡£
¡¾³ÌÐò´úÂë¡¿£ºÈçÏÂ
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
#include<time.h>
#include<sys/time.h>
#define N 100 //ÉèÖÃ×î´óµÄ¶¨Ê±Æ÷¸öÊý
int i=0,t=1; //i´ú±í¶¨Ê±Æ÷µÄ¸öÊý£»t±íʾʱ¼ä£¬ÖðÃëµÝÔö
struct Timer //Timer½á¹¹Ì壬ÓÃÀ´±£´æÒ»¸ö¶¨Ê±Æ÷µÄÐÅÏ¢
{
int total_time; //ÿ¸ôtotal_timeÃë
int left_time; //»¹Ê£left_timeÃë
int func; ......
¡¾ÊµÏÖ¹¦ÄÜ¡¿£ºLinuxϵÄC±à³Ì£º±àдһ¸ö³ÌÐò£¨¿â£©£¬ÊµÏÖ¶¨Ê±Æ÷£¨¼ÆÊ±Æ÷£©µÄ¹¦ÄÜ£¬ËüÄÜΪÓû§ÌṩÔÚͬһ½ø³ÌÖжà´ÎʹÓõĶ¨Ê±Æ÷¡£ÕâÀïÒªÇóÓÃÐźÅÀ´ÊµÏÖ¡£
¡¾½âÌâ˼·¡¿£º±àдһ¸ö½á¹¹ÌåTimer´ú±íÒ»¸ö¼ÆÊ±Æ÷£¬È»ºóÔÙ¶¨ÒåTimerÀàÐ͵ÄÊý×émyTimer[N]£¬ÓÃÀ´±£´æÎÒÃÇÉèÖõĶ¨Ê±Æ÷£»ÔÙ¶¨Ò庯ÊýsetTimer£¨£©Éú³É¼ÆÊ±Æ÷£¬²¢½«Éú³ÉµÄ¼ÆÊ±Æ÷±£´æµ½myTimerÖУ¬ÕâÑùͨ¹ý¶à´Îµ÷Ó㬾ͿÉÒÔÔÚͬһ¸ö½ø³ÌÖÐÉú³É¶à¸ö¼ÆÊ±Æ÷£»¶¨Òåtimeout()ÐźŴ¦Àíº¯Êý£¬Ã¿¸ôÒ»Ãë²úÉúÒ»¸öÐźţ¬Í¨¹ýµ÷ÓÃtimeout()¶ÔËùÓеĶ¨Ê±Æ÷ɨÃèÒ»±é£¬¼ì²éÄÄЩ¼ÆÊ±Æ÷³¬Ê±¡£
¡¾³ÌÐò´úÂë¡¿£ºÈçÏÂ
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
#include<time.h>
#include<sys/time.h>
#define N 100 //ÉèÖÃ×î´óµÄ¶¨Ê±Æ÷¸öÊý
int i=0,t=1; //i´ú±í¶¨Ê±Æ÷µÄ¸öÊý£»t±íʾʱ¼ä£¬ÖðÃëµÝÔö
struct Timer //Timer½á¹¹Ì壬ÓÃÀ´±£´æÒ»¸ö¶¨Ê±Æ÷µÄÐÅÏ¢
{
int total_time; //ÿ¸ôtotal_timeÃë
int left_time; //»¹Ê£left_timeÃë
int func; ......
1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û.Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý:
#include <sys/time.h>
time_t time(time_t *tloc);
char *ctime(const time_t *clock);
timeº¯Êý·µ»Ø´Ó1970Äê1ÔÂ1ÈÕ0µãÒÔÀ´µÄÃëÊý.´æ´¢ÔÚtime_t½á¹¹Ö®ÖÐ.²»¹ýÕâ¸öº¯ÊýµÄ·µ»ØÖµ¶ÔÓÚÎÒÃÇÀ´ËµÃ»ÓÐʲôʵ¼ÊÒâÒå.Õâ¸öʱºòÎÒÃÇʹÓõڶþ¸öº¯Êý½«ÃëÊýת»¯Îª×Ö·û´®. Õâ¸öº¯ÊýµÄ·µ»ØÀàÐÍÊǹ̶¨µÄ:Ò»¸ö¿ÉÄÜֵΪ.Thu Dec7 14:58:59 2000 Õâ¸ö×Ö·û´®µÄ³¤¶ÈÊǹ̶¨µÄΪ26.
2.ʱ¼äµÄ²âÁ¿
ÓÐʱºòÎÒÃÇÒª¼ÆËã³ÌÐòÖ´ÐеÄʱ¼ä.±ÈÈçÎÒÃÇÒª¶ÔËã·¨½øÐÐʱ¼ä·ÖÎö.Õâ¸öʱºò¿ÉÒÔʹÓÃÏÂÃæÕâ¸öº¯Êý.
#include <sys/time.h>
int gettimeofday(struct timeval *tv,struct timezone *tz);
strut timeval {
long tv_sec; /* ÃëÊý */
long tv_usec; /* ΢ÃëÊý */
};
gettimeofday½«Ê±¼ä±£´æÔڽṹtvÖ®ÖÐ.tzÒ»°ãÎÒÃÇʹÓÃNULLÀ´´úÌæ.
#include #include #include
void function()
{
unsigned int i,j;
double y;
for(i=0;i ......
1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û.Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý:
#include <sys/time.h>
time_t time(time_t *tloc);
char *ctime(const time_t *clock);
timeº¯Êý·µ»Ø´Ó1970Äê1ÔÂ1ÈÕ0µãÒÔÀ´µÄÃëÊý.´æ´¢ÔÚtime_t½á¹¹Ö®ÖÐ.²»¹ýÕâ¸öº¯ÊýµÄ·µ»ØÖµ¶ÔÓÚÎÒÃÇÀ´ËµÃ»ÓÐʲôʵ¼ÊÒâÒå.Õâ¸öʱºòÎÒÃÇʹÓõڶþ¸öº¯Êý½«ÃëÊýת»¯Îª×Ö·û´®. Õâ¸öº¯ÊýµÄ·µ»ØÀàÐÍÊǹ̶¨µÄ:Ò»¸ö¿ÉÄÜֵΪ.Thu Dec7 14:58:59 2000 Õâ¸ö×Ö·û´®µÄ³¤¶ÈÊǹ̶¨µÄΪ26.
2.ʱ¼äµÄ²âÁ¿
ÓÐʱºòÎÒÃÇÒª¼ÆËã³ÌÐòÖ´ÐеÄʱ¼ä.±ÈÈçÎÒÃÇÒª¶ÔËã·¨½øÐÐʱ¼ä·ÖÎö.Õâ¸öʱºò¿ÉÒÔʹÓÃÏÂÃæÕâ¸öº¯Êý.
#include <sys/time.h>
int gettimeofday(struct timeval *tv,struct timezone *tz);
strut timeval {
long tv_sec; /* ÃëÊý */
long tv_usec; /* ΢ÃëÊý */
};
gettimeofday½«Ê±¼ä±£´æÔڽṹtvÖ®ÖÐ.tzÒ»°ãÎÒÃÇʹÓÃNULLÀ´´úÌæ.
#include #include #include
void function()
{
unsigned int i,j;
double y;
for(i=0;i ......
Ñ¡Á½¸ö±È½ÏÓдú±íÐԵĺ¯Êý
Ê×ÏÈÏÂÔØ°²×°sdk£¬½«ÆäÖеÄsde.dll,pe.dllºÍsg.dll¿½±´¹ýÀ´
ʹÓÃÈçϵĴúÂ룬ָ¶¨dllºóÖ±½Óµ÷ÓÃÆäÖеĺ¯Êý£¬
/// <summary>
/// Sets the value for a small integer column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_smallint(IntPtr stream, Int16 column, sbyte[] short_val);
/// <summary>
/// Sets the value for a string column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_nstring(IntPtr stream, Int16 column, byte[] string_val);
ÔÚ²åÈëÊý¾ÝʱʹÓõ½µÄÁ½¸öº¯Êý£¬Ò»¸öÊDzåÈëstring£¬ÁíÒ»¸öÊDzåÈësmallint£¨shortÐÍ£©
ÔÚc#ÖУ¬stringÊÇunicodeµÄ£¬ËùÒÔÐèҪʹÓú¯ÊýSE_stream_set_nstring
´Ëº¯ÊýµÄµÚÈý¸ö²ÎÊýÈçÒÔÉÏ´úÂëÖеģ¬Èç¹ûÖ±½ÓдΪstring£¬Ôò¶ÔÓÚÖÐÎÄ×Ö·û£¬³öÀ´µÄ¾ÍÊÇÂÒÂëÁË
ʹÓÃbyte£¬È»º ......
Ñ¡Á½¸ö±È½ÏÓдú±íÐԵĺ¯Êý
Ê×ÏÈÏÂÔØ°²×°sdk£¬½«ÆäÖеÄsde.dll,pe.dllºÍsg.dll¿½±´¹ýÀ´
ʹÓÃÈçϵĴúÂ룬ָ¶¨dllºóÖ±½Óµ÷ÓÃÆäÖеĺ¯Êý£¬
/// <summary>
/// Sets the value for a small integer column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_smallint(IntPtr stream, Int16 column, sbyte[] short_val);
/// <summary>
/// Sets the value for a string column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_nstring(IntPtr stream, Int16 column, byte[] string_val);
ÔÚ²åÈëÊý¾ÝʱʹÓõ½µÄÁ½¸öº¯Êý£¬Ò»¸öÊDzåÈëstring£¬ÁíÒ»¸öÊDzåÈësmallint£¨shortÐÍ£©
ÔÚc#ÖУ¬stringÊÇunicodeµÄ£¬ËùÒÔÐèҪʹÓú¯ÊýSE_stream_set_nstring
´Ëº¯ÊýµÄµÚÈý¸ö²ÎÊýÈçÒÔÉÏ´úÂëÖеģ¬Èç¹ûÖ±½ÓдΪstring£¬Ôò¶ÔÓÚÖÐÎÄ×Ö·û£¬³öÀ´µÄ¾ÍÊÇÂÒÂëÁË
ʹÓÃbyte£¬È»º ......
1.¸ÅÂÛ
¡¡¡¡ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÔËÐÐʱ¿âÊÇÒÔLIB»òDLLÐÎʽÌṩµÄ¡£CÔËÐÐʱ¿âµ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬µ±Ê±µÄ³ÌÐòÊÀ½ç»¹ºÜµ¥´¿£¬Ó¦ÓóÌÐò¶¼Êǵ¥Ï̵߳쬶àÈÎÎñ»ò¶àÏ̻߳úÖÆÔÚ´Ëʱ»¹ÊôÓÚйÛÄî¡£ËùÒÔÕâ¸öjʱÆÚµÄCÔËÐÐʱ¿â¶¼Êǵ¥Ï̵߳ġ£
¡¡¡¡Ëæ×ŲÙ×÷ϵͳ¶àÏ̼߳¼ÊõµÄ·¢Õ¹£¬×î³õµÄCÔËÐÐʱ¿âÎÞ·¨Âú×ã³ÌÐòµÄÐèÇ󣬳öÏÖÁËÑÏÖØµÄÎÊÌâ¡£CÔËÐÐʱ¿âʹÓÃÁ˶à¸öÈ«¾Ö±äÁ¿£¨ÀýÈçerrno£©ºÍ¾²Ì¬±äÁ¿£¬Õâ¿ÉÄÜÔÚ¶àÏ̳߳ÌÐòÖÐÒýÆð³åÍ»¡£¼ÙÉèÁ½¸öÏ̶߳¼Í¬Ê±ÉèÖÃerrno£¬Æä½á¹ûÊǺóÉèÖõÄerrno»á½«ÏÈǰµÄ¸²¸Ç£¬Óû§µÃ²»µ½ÕýÈ·µÄ´íÎóÐÅÏ¢¡£
¡¡¡¡Òò´Ë£¬Visual C++ÌṩÁËÁ½ÖÖ°æ±¾µÄCÔËÐÐʱ¿â¡£Ò»¸ö°æ±¾¹©µ¥Ïß³ÌÓ¦ÓóÌÐòµ÷Óã¬ÁíÒ»¸ö°æ±¾¹©¶àÏß³ÌÓ¦ÓóÌÐòµ÷Ó᣶àÏß³ÌÔËÐÐʱ¿âÓëµ¥Ïß³ÌÔËÐÐʱ¿âÓÐÁ½¸öÖØ´ó²î±ð£º
¡¡¡¡£¨1£©ÀàËÆerrnoµÄÈ«¾Ö±äÁ¿£¬Ã¿¸öÏ̵߳¥¶ÀÉèÖÃÒ»¸ö£»
¡¡¡¡ÕâÑù´Óÿ¸öÏß³ÌÖпÉÒÔ»ñÈ¡ÕýÈ·µÄ´íÎóÐÅÏ¢¡£
¡¡¡¡£¨2£©¶àÏ߳̿âÖеÄÊý¾Ý½á¹¹ÒÔͬ²½»úÖÆ¼ÓÒÔ±£»¤¡£
¡¡¡¡ÕâÑù¿ÉÒÔ±ÜÃâ·ÃÎÊʱºòµÄ³åÍ»¡£
¡¡¡¡Visual C++ÌṩµÄ¶àÏß³ÌÔËÐÐʱ¿âÓÖ·ÖΪ¾²Ì¬Á´½Ó¿âºÍ¶¯Ì¬Á´½Ó¿âÁ½À࣬¶øÃ¿Ò»ÀàÔËÐÐʱ¿âÓÖ¿ÉÔÙ·ÖΪdebug°æºÍrelease°æ£¬Òò´ËVisual C++¹²ÌṩÁË6¸öÔËÐÐʱ¿â¡£ÈçÏÂ±í£ ......
51µ¥Æ¬»ú Keil C ÑÓʱ³ÌÐòµÄ¼òµ¥Ñо¿
by: InfiniteSpace Studio/isjfk, 1.21.2004
ÈκÎÈ˶¼¿ÉÒÔÔÚ×¢Ã÷Ô×÷Õߺͳö´¦µÄǰÌáÏÂËæÒâ×ªÔØÕâÆªÎÄÕ£¬µ«²»µÃÓÃÓÚÉÌҵĿµÄ¡£
Ó¦Óõ¥Æ¬»úµÄʱºò£¬¾³£»áÓöµ½ÐèÒª¶Ìʱ¼äÑÓʱµÄÇé¿ö¡£ÐèÒªµÄÑÓʱʱ¼äºÜ¶Ì£¬Ò»°ã¶¼ÊǼ¸Ê®µ½¼¸°Ù΢Ãî(us)¡£ÓÐʱºò»¹ÐèÒªºÜ¸ßµÄ¾«¶È£¬±ÈÈçÓõ¥Æ¬»úÇý¶¯DS18B20µÄʱºò£¬Îó²îÈÝÐíµÄ·¶Î§ÔÚÊ®¼¸usÒÔÄÚ£¬²»È»ºÜÈÝÒ׳ö´í¡£ÕâÖÖÇé¿öÏ£¬ÓüÆÊ±Æ÷ÍùÍùÓеãСÌâ´ó×ö¡£¶øÔÚ¼«¶ËµÄÇé¿öÏ£¬¼ÆÊ±Æ÷ÉõÖÁÒѾȫ²¿ÅÉÉÏÁ˱ðµÄÓÃ;¡£Õâʱ¾ÍÐèÒªÎÒÃÇÁíÏë±ðµÄ°ì·¨ÁË¡£
ÒÔǰÓûã±àÓïÑÔдµ¥Æ¬»ú³ÌÐòµÄʱºò£¬Õâ¸öÎÊÌ⻹ÊÇÏà¶ÔÈÝÒ×½â¾öµÄ¡£±ÈÈçÓõÄÊÇ12MHz¾§ÕñµÄ51£¬´òËãÑÓʱ20us£¬Ö»ÒªÓÃÏÂÃæµÄ´úÂ룬¾Í¿ÉÒÔÂú×ãÒ»°ãµÄÐèÒª£º
mov r0, #09h
loop: &nbs ......