串口编程的一般步骤及相关函数讲解


    Windows API进行串口编程般步骤相关函数讲解
    分隔线
      然诸 CSerialPort VC串口类MSComm VC 串口控件等非常方便时控件适合特殊需求必解基Windows API串口编程方法面介绍API串口编程般步骤相关串口API函数
    串口操作般四步分:
    1) 开串口
    2) 配置串口
    3) 读写串口
    4) 关闭串口
    1 开串口
      VC 开串口文中已单独介绍果利API开串口方法开串口API函数CreateFile开创建该函数原型:
    1HANDLE CreateFile( LPCTSTR lpFileName 
    2                  DWORD dwDesiredAccess 
    3                  DWORD dwShareMode 
    4                  LPSECURITY_ATTRIBUTES lpSecurityAttributes 
    5                  DWORD dwCreationDistribution 
    6DWORD dwFlagsAndAttributes 
    7HANDLE hTemplateFile) 
     
    参数详解:
    lpFileName:开串口逻辑名COM1
    dwDesiredAccess:指定串口访问类型读取写入二者列
    dwShareMode:指定享属性串口享该参数必须置0
    lpSecurityAttributes:引安全性属性结构缺省值NULL
    dwCreationDistribution:创建标志串口操作该参数必须置OPEN_EXISTING
    dwFlagsAndAttributes:属性描述指定该串口否进行异步操作该值FILE_FLAG_OVERLAPPED表示异步IO该值0表示步IO操作
    hTemplateFile:串口言该参数必须置NULL
      串口操作两种操作方式:步操作方式重叠操作方式(称异步操作方式)步操作时API函数会阻塞直操作完成返回(线程方式中然会阻塞线程然会阻塞监听线程)重叠操作方式API函数会立返回操作台进行避免线程阻塞
    步IO方式开串口示例:
    8HANDLE hCom  全局变量串口句柄
    9hComCreateFile(COM1COM1口
    10    GENERIC_READ|GENERIC_WRITE 允许读写
    11    0 独占方式
    12    NULL 
    13    OPEN_EXISTING 开创建
    14    0 步方式
    15    NULL) 
    16if(hCom(HANDLE)1) 
    17{ 

    18    AfxMessageBox(开COM失败) 
    19    return FALSE 
    20} 
    21return TRUE
    重叠IO开串口示例:
    22HANDLE hCom  全局变量串口句柄
    23hCom CreateFile(COM1  COM1口
    24            GENERIC_READ|GENERIC_WRITE 允许读写
    25            0  独占方式
    26            NULL 
    27            OPEN_EXISTING  开创建
    28            FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED 重叠方式
    29            NULL) 
    30if(hCom INVALID_HANDLE_VALUE) 
    31{ 
    32    AfxMessageBox(开COM失败) 
    33    return FALSE 
    34} 
    35   return TRUE 
    2配置串口
      开通讯设备句柄常常需串口进行初始化配置工作需通DCB结构进行DCB结构包含诸波特率数位数奇偶校验停止位数等信息查询配置串口属性时DCB结构作缓区
      般CreateFile开串口调GetCommState函数获取串口初始配置修改串口配置应该先修改DCB结构然调SetCommState函数设置串口
      DCB结构包含串口项参数设置面仅介绍该结构常变量:
     
    36typedef struct _DCB{ 
    37   ……… 
    38   波特率指定通信设备传输速率成员实际波特率值者面常量值:
    39   DWORD BaudRate  
    40CBR_110CBR_300CBR_600CBR_1200CBR_2400CBR_4800CBR_9600CBR_19200 CBR_38400  
    41CBR_56000 CBR_57600 CBR_115200 CBR_128000 CBR_256000 CBR_14400 
    42 
    43DWORD fParity 指定奇偶校验成员1允许奇偶校验检查 
    44   … 
    45BYTE ByteSize 通信字节位数4—8
    46BYTE Parity 指定奇偶校验方法成员列值:
    47EVENPARITY 偶校验     NOPARITY 校验 
    48MARKPARITY 标记校验   ODDPARITY 奇校验 
    49BYTE StopBits 指定停止位位数成员列值:
    50ONESTOPBIT 1位停止位   TWOSTOPBITS 2位停止位 
    51ONE5STOPBITS   15位停止位 
    52   ……… 
    53  } DCB 
    54winbaseh文件中定义常量: 
    55#define NOPARITY            0 
    56#define ODDPARITY           1 

    57#define EVENPARITY          2 
    58#define ONESTOPBIT          0 
    59#define ONE5STOPBITS        1 
    60#define TWOSTOPBITS         2 
    61#define CBR_110             110 
    62#define CBR_300             300 
    63#define CBR_600             600 
    64#define CBR_1200            1200 
    65#define CBR_2400            2400 
    66#define CBR_4800            4800 
    67#define CBR_9600            9600 
    68#define CBR_14400           14400 
    69#define CBR_19200           19200 
    70#define CBR_38400           38400 
    71#define CBR_56000           56000 
    72#define CBR_57600           57600 
    73#define CBR_115200          115200 
    74#define CBR_128000          128000 
    75#define CBR_256000          256000 
    GetCommState函数获COM口设备控制块获相关参数:
    76BOOL GetCommState( 
    77   HANDLE hFile 标识通讯端口句柄
    78   LPDCB lpDCB 指设备控制块(DCB结构)指针
    79  ) 
    80SetCommState函数设置COM口设备控制块: 
    81BOOL SetCommState( 
    82   HANDLE hFile  
    83   LPDCB lpDCB  
    84  ) 
      BCD中设置外程序般需设置IO缓区超时WindowsIO缓区暂存串口输入输出数果通信速率较高应该设置较缓区调SetupComm函数设置串行口输入输出缓区
    85BOOL SetupComm( 
    86 
    87    HANDLE hFile   通信设备句柄 
    88    DWORD dwInQueue    输入缓区(字节数) 
    89    DWORD dwOutQueue    输出缓区(字节数)
    90   ) 
      ReadFileWriteFile读写串行口时需考虑超时问题超时作指定时间没读入发送指定数量字符ReadFileWriteFile操作然会结束
      查询前超时设置应调GetCommTimeouts函数该函数会填充COMMTIMEOUTS结构调SetCommTimeouts某COMMTIMEOUTS结构容设置超时
      读写串口超时两种:间隔超时总超时间隔超时指接收时两字符间时延总超时指读写操作总花费时间写操作支持总超时读操作两种超时均支持COMMTIMEOUTS结构规定读写操作超时
    COMMTIMEOUTS结构定义:
    91typedef struct _COMMTIMEOUTS {    
    92    DWORD ReadIntervalTimeout 读间隔超时
    93    DWORD ReadTotalTimeoutMultiplier 读时间系数
    94    DWORD ReadTotalTimeoutConstant 读时间常量
    95    DWORD WriteTotalTimeoutMultiplier 写时间系数

    96    DWORD WriteTotalTimeoutConstant 写时间常量
    97} COMMTIMEOUTS*LPCOMMTIMEOUTS 
    COMMTIMEOUTS结构成员毫秒单位总超时计算公式:
    总超时=时间系数×求读写字符数+时间常量
    例读入10字符读操作总超时计算公式:
    读总超时=ReadTotalTimeoutMultiplier×10+ReadTotalTimeoutConstant
    出:间隔超时总超时设置相关方便通信程序灵活设置种超时

    果写超时参数均0写超时果ReadIntervalTimeout0读间隔超时果ReadTotalTimeoutMultiplier ReadTotalTimeoutConstant 0读总超时果读间隔超时设置成MAXDWORD读时间系数读时间常量0读次输入缓区容读操作立返回否读入求字符
      重叠方式读写串口时然ReadFileWriteFile完成操作前返回超时然起作种情况超时规定操作完成时间ReadFileWriteFile返回时间
    配置串口示例代码:
     
    98SetupComm(hCom10241024) 输入缓区输出缓区1024
    99 
    100COMMTIMEOUTS TimeOuts 
    101设定读超时
    102TimeOutsReadIntervalTimeout1000 
    103TimeOutsReadTotalTimeoutMultiplier500 
    104TimeOutsReadTotalTimeoutConstant5000 
    105设定写超时
    106TimeOutsWriteTotalTimeoutMultiplier500 
    107TimeOutsWriteTotalTimeoutConstant2000 
    108SetCommTimeouts(hCom&TimeOuts) 设置超时
    109 
    110DCB dcb 
    111GetCommState(hCom&dcb) 
    112dcbBaudRate9600 波特率9600
    113dcbByteSize8 字节8位
    114dcbParityNOPARITY 奇偶校验位
    115dcbStopBitsTWOSTOPBITS 两停止位
    116SetCommState(hCom&dcb) 
    117 
    118PurgeComm(hComPURGE_TXCLEAR|PURGE_RXCLEAR) 
    读写串口前PurgeComm()函数清空缓区该函数原型:
     
    119BOOL PurgeComm( 
    120 
    121    HANDLE hFile   串口句柄
    122    DWORD dwFlags   需完成操作
    123   )   
    参数dwFlags指定完成操作列值组合:

    124PURGE_TXABORT     中断写操作立返回写操作没完成 
    125PURGE_RXABORT     中断读操作立返回读操作没完成 
    126PURGE_TXCLEAR     清输出缓区 
    127PURGE_RXCLEAR     清输入缓区 
    3读写串口
    ReadFileWriteFile读写串口面两函数声明:
     
    128BOOL ReadFile( 
    129 
    130    HANDLE hFile   串口句柄
    131     
    132    读入数存储址
    133    读入数存储该指针值首址片存区
    134    LPVOID lpBuffer     
    135    DWORD nNumberOfBytesToRead 读入数字节数
    136     
    137    指DWORD数值该数值返回读操作实际读入字节数
    138    LPDWORD lpNumberOfBytesRead     
    139     
    140    重叠操作时该参数指OVERLAPPED结构步操作时该参数NULL
    141    LPOVERLAPPED lpOverlapped    
    142   )    
    143BOOL WriteFile( 
    144 
    145    HANDLE hFile   串口句柄
    146     
    147    写入数存储址
    148    该指针值首址nNumberOfBytesToWrite
    149    字节数写入串口发送数缓区
    150    LPCVOID lpBuffer    
    151     
    152    DWORD nNumberOfBytesToWrite    写入数字节数
    153     
    154    指指DWORD数值该数值返回实际写入字节数
    155    LPDWORD lpNumberOfBytesWritten  
    156     
    157    重叠操作时该参数指OVERLAPPED结构
    158    步操作时该参数NULL
    159    LPOVERLAPPED lpOverlapped    
    160   ) 
      ReadFileWriteFile读写串口时步执行重叠执行步执行时函数直操作完成返回意味着步执行时线程会阻塞导致效率降重叠执行时操作未完成两函数会立返回费时IO操作台进行
      ReadFileWriteFile函数步异步CreateFile函数决定果调CreateFile创建句柄时指定FILE_FLAG_OVERLAPPED标志调ReadFileWriteFile该句柄进行操作应该重叠果未指定重叠标志读写操作应该步ReadFileWriteFile函数步者异步应该CreateFile函数相致
      ReadFile函数串口输入缓区中读入指定数量字符算完成操作WriteFile函数指定数量字符拷入输出缓区等字符串行口送出算完成操作


      果操作成功两函数返回TRUE需注意ReadFileWriteFile返回FALSE时定操作失败线程应该调GetLastError函数分析返回结果例重叠操作时果操作未完成函数返回函数返回FALSEGetLastError函数返回ERROR_IO_PENDING说明重叠操作未完成

    步方式读写串口较简单面先例举步方式读写串口代码:
     
    161步读串口
    162char str[100] 
    163DWORD wCount读取字节数
    164BOOL bReadStat 
    165bReadStatReadFile(hComstr100&wCountNULL) 
    166if(bReadStat) 
    167{ 
    168    AfxMessageBox(读串口失败) 
    169    return FALSE 
    170} 
    171return TRUE 
    172 
    173步写串口
    174 
    175    char lpOutBuffer[100] 
    176    DWORD dwBytesWrite100 
    177    COMSTAT ComStat 
    178    DWORD dwErrorFlags 
    179    BOOL bWriteStat 
    180    ClearCommError(hCom&dwErrorFlags&ComStat) 
    181    bWriteStatWriteFile(hComlpOutBufferdwBytesWrite& dwBytesWriteNULL) 
    182    if(bWriteStat) 
    183    { 
    184        AfxMessageBox(写串口失败) 
    185    } 
    186    PurgeComm(hCom PURGE_TXABORT| 
    187        PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR) 
    重叠操作时操作未完成函数返回

      重叠IO非常灵活实现阻塞(例设置定读取数进行步操作)两种方法等操作完成:种方法象WaitForSingleObject样等函数等OVERLAPPED结构hEvent成员种方法调GetOverlappedResult函数等面演示说明
    面先简单说OVERLAPPED结构GetOverlappedResult函数:
    OVERLAPPED结构
    OVERLAPPED结构包含重叠IO信息定义:
    188typedef struct _OVERLAPPED { o  
    189    DWORD  Internal  
    190    DWORD  InternalHigh  
    191    DWORD  Offset  
    192    DWORD  OffsetHigh  
    193    HANDLE hEvent  

    194} OVERLAPPED 
      ReadFileWriteFile重叠操作时线程需创建OVERLAPPED结构供两函数线程通OVERLAPPED结构获前操作状态该结构重成员hEventhEvent读写事件串口异步通讯时函数返回时操作没完成程序通检查该事件知否读写完毕
      调ReadFile WriteFile 函数时候该成员会动置信号状态重叠操作完成该成员变量会动置信号状态
     
    195GetOverlappedResult函数 
    196BOOL GetOverlappedResult( 
    197    HANDLE hFile   串口句柄  
    198     
    199    指重叠操作开始时指定OVERLAPPED结构
    200    LPOVERLAPPED lpOverlapped   
    201     
    202    指32位变量该变量值返回实际读写操作传输字节数
    203    LPDWORD lpNumberOfBytesTransferred  
    204     
    205    该参数指定函数否直等重叠操作结束
    206    果该参数TRUE函数直操作结束返回
    207    果该参数FALSE函数直接返回时果操作没完成
    208    通调GetLastError()函数会返回ERROR_IO_INCOMPLETE
    209    BOOL bWait   
    210   )    
    该函数返回重叠操作结果判断异步操作否完成通判断OVERLAPPED结构中hEvent否置位实现

    异步读串口示例代码:
     
    211char lpInBuffer[1024] 
    212DWORD dwBytesRead1024 
    213COMSTAT ComStat 
    214DWORD dwErrorFlags 
    215OVERLAPPED m_osRead 
    216memset(&m_osRead0sizeof(OVERLAPPED)) 
    217m_osReadhEventCreateEvent(NULLTRUEFALSENULL) 
    218 
    219ClearCommError(hCom&dwErrorFlags&ComStat) 
    220dwBytesReadmin(dwBytesRead(DWORD)ComStatcbInQue) 
    221if(dwBytesRead) 
    222return FALSE 
    223BOOL bReadStatus 
    224bReadStatusReadFile(hComlpInBuffer 
    225                     dwBytesRead&dwBytesRead&m_osRead) 
    226 
    227if(bReadStatus) 果ReadFile函数返回FALSE
    228{ 
    229    if(GetLastError()ERROR_IO_PENDING) 
    230    GetLastError()函数返回ERROR_IO_PENDING表明串口正进行读操作    

    231    { 
    232        WaitForSingleObject(m_osReadhEvent2000) 
    233        WaitForSingleObject函数等直读操作完成延时已达2秒钟
    234        串口读操作进行完毕m_osReadhEvent事件会变信号
    235        PurgeComm(hCom PURGE_TXABORT| 
    236            PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR) 
    237        return dwBytesRead 
    238    } 
    239    return 0 
    240} 
    241PurgeComm(hCom PURGE_TXABORT| 
    242          PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR) 
    243return dwBytesRead 
      代码作简说明:ReadFile 函数进行读操作前应先ClearCommError函数清错误ClearCommError函数原型:
    244BOOL ClearCommError(    
    245   
    246    HANDLE hFile   串口句柄   
    247    LPDWORD lpErrors   指接收错误码变量   
    248    LPCOMSTAT lpStat    指通讯状态缓区   
    249   )     
    该函数获通信错误报告串口前状态时该函数清串口错误标志便继续输入输出操作
    参数lpStat指COMSTAT结构该结构返回串口状态信息 COMSTAT结构 COMSTAT结构包含串口信息结构定义:
    250typedef struct _COMSTAT { cst  
    251    DWORD fCtsHold 1   Tx waiting for CTS signal 
    252    DWORD fDsrHold 1   Tx waiting for DSR signal 
    253    DWORD fRlsdHold 1  Tx waiting for RLSD signal 
    254    DWORD fXoffHold 1  Tx waiting XOFF char rec''d 
    255    DWORD fXoffSent 1  Tx waiting XOFF char sent 
    256    DWORD fEof 1       EOF character sent 
    257    DWORD fTxim 1      character waiting for Tx 
    258    DWORD fReserved 25 reserved 
    259    DWORD cbInQue        bytes in input buffer 
    260    DWORD cbOutQue       bytes in output buffer 
    261} COMSTAT *LPCOMSTAT  
    里cbInQue成员变量该成员变量值代表输入缓区字节数

      PurgeComm函数清空串口输入输出缓区
      段代码WaitForSingleObject函数等OVERLAPPED结构hEvent成员面演示段调GetOverlappedResult函数等异步读串口示例代码:
     
    262char lpInBuffer[1024] 
    263DWORD dwBytesRead1024 
    264    BOOL bReadStatus 
    265    DWORD dwErrorFlags 
    266    COMSTAT ComStat 

    267OVERLAPPED m_osRead 
    268 
    269    ClearCommError(hCom&dwErrorFlags&ComStat) 
    270    if(ComStatcbInQue) 
    271        return 0 
    272    dwBytesReadmin(dwBytesRead(DWORD)ComStatcbInQue) 
    273    bReadStatusReadFile(hCom lpInBufferdwBytesRead 
    274        &dwBytesRead&m_osRead) 
    275    if(bReadStatus) 果ReadFile函数返回FALSE
    276    { 
    277        if(GetLastError()ERROR_IO_PENDING) 
    278        { 
    279            GetOverlappedResult(hCom 
    280                &m_osRead&dwBytesReadTRUE) 
    281           GetOverlappedResult函数参数设TRUE
    282           函数会直等直读操作完成错误返回
    283 
    284            return dwBytesRead 
    285        } 
    286        return 0 
    287    } 
    288    return dwBytesRead 
    异步写串口示例代码:
     
    289char buffer[1024] 
    290DWORD dwBytesWritten1024 
    291    DWORD dwErrorFlags 
    292    COMSTAT ComStat 
    293OVERLAPPED m_osWrite 
    294    BOOL bWriteStat 
    295 
    296    bWriteStatWriteFile(hCombufferdwBytesWritten 
    297        &dwBytesWritten&m_OsWrite) 
    298    if(bWriteStat) 
    299    { 
    300        if(GetLastError()ERROR_IO_PENDING) 
    301        { 
    302            WaitForSingleObject(m_osWritehEvent1000) 
    303            return dwBytesWritten 
    304        } 
    305        return 0 
    306    } 
    307    return dwBytesWritten 
    4关闭串口
      利API函数关闭串口非常简单需CreateFile函数返回句柄作参数调CloseHandle:

    308BOOL CloseHandle( 
    309    HANDLE hObject handle to object to close 
    310) 
     
     
     

    文香网httpwwwxiangdangnet

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 1 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    内部审核的一般步骤

    文 件 名内部审核的一般步骤电子文件编码ZLNS001页 码2-1●审核策划按照内审程序规定,制订年度审核计划,管理者授权成立审核组,由审核组长制订专项审核 活动计划,准备审核工作文件,...

    11年前   
    857    0

    论文写作步骤、建议及相关要求

    论文写作步骤、建议及相关要求论文写作步骤及建议作为理论应用性的论文,撰写者应能运用所学的基本理论知识,来解决实际中出现的问题。论文总体的思路是围绕论文主题“提出问题、分析问题、解决问题”,并据...

    8年前   
    626    0

    反比例函数(提高)知识讲解

    理解反比例函数的概念和意义,能根据问题的反比例关系确定函数解析式.

    5年前   
    965    0

    嵌套函数相关问题的研究与拓展

     专题2.2:嵌套函数相关问题的研究与拓展 【问题提出】问题1:设函数,若,则=_______ 变式:设函数f(x)=,若f(f(a))≤2,则实数a的取值范围是__________...

    10年前   
    589    0

    对外汉语语法教学分步骤讲解的技巧

    ***先生(2005)指出“对外汉语教学的实际需要和学习者提出的或出现的种种问题迫使汉语本体研究要进一步细化”。“语法教学应尽量细化到小类的选择限制条件及意合关系”。遵循教学规律进行语法点的分步...

    6年前   
    15915    0

    关于论文提纲写作的一般步骤有哪些

    关于论文提纲写作的一般步骤有哪些  一、时间:4月18日前  二、简单阐述一下编写毕业论文提纲的方法:  1.先拟标题;  2.写出总论点;  3.考虑全篇总的安排:从几个方面,以什么顺序来论...

    10年前   
    473    0

    浅谈毕业论文写作的一般步骤有哪些

    浅谈毕业论文写作的一般步骤有哪些  以下是毕业论文写作的一般步骤有哪些  中学生的一篇语文作文一般在考场上花上几十分钟就可以完成,而一篇较好的毕业论文通常是一篇较长的有文献资料佐证的学术论文,...

    12年前   
    480    0

    谈谈大学毕业论文写作的一般步骤

    谈谈大学毕业论文写作的一般步骤  本文是毕业论文写作的一般步骤  2.1 毕业论文选题  毕业论文题目的选定不是一下子就能够确定的.若选择的毕业论文题目范围较大,则写出来的毕业论文内容比较空洞...

    10年前   
    526    0

    《财务管理》期末复习要点及相关计算题讲解

    《财务管理》期末复习要点及相关计算题讲解【单项选择题、判断题参考答案】一、单项选择题1.内含报酬率是指能够使( )为零的报酬率。 A 净现...

    3年前   
    631    0

    中考数学--二次函数知识点总结及相关题型

    二次函数知识点总结及相关典型题目 第一部分 基础知识 1.定义:一般地,如果是常数,,那么叫做的二次函数. 2.二次函数的性质 (1)抛物线的顶点是坐标原点,对称轴是轴. (2)函数的图像与...

    5年前   
    1132    0

    深井泵故障一般的检修方法及拆装步骤

    深井泵故障一般的检修方法及拆、装步骤 故障一:电机不启动1.  先用兆欧表(摇表)检查电机绝缘是否合格,若低于50兆欧,按下文的“故障四、电机受潮、进水或烧机”步骤操作;若高于50兆欧,再用万...

    3年前   
    5887    0

    linux编程SHELL编程实验报告

    Linux编程课程设计报告题 目: Linux Shell编程 专 业 学 号 姓 名 ...

    1年前   
    607    0

    小学英语一般过去时专项讲解、练习和参考答案

    一般过去时专项讲解与练习一、 概念:一般过去时表示过去某一时候发生的动作或存在的状态。常与一般过去时连用的时间状语有:yesterday; 昨天 just now 刚才the day b...

    4年前   
    1070    0

    营业网点处置不同突发事件的步骤和应注意的相关事项

    处置不同突发事件的步骤和应注意的相关事项 1、当营业网点发生歹徒劫持人质持枪抢劫时: 步骤一:应立即报警。面对歹徒的柜员,应沉着冷静,一边与歹徒周旋,一边以约定暗号提示同事报警。未约定暗号...

    8年前   
    5165    0

    编程 汇编题目

    一、选择题1. 已知指令CALL DWORD PTR [BX]执行前(SP)=108H, 则该指令执行后SP的内容为 ( )。A. 100H B. 104H C. 0...

    4年前   
    697    0

    linux与windows 编程区别

    linux windows 编程的区别 如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix...

    7年前   
    2603    0

    软件编程实习总结

    软件编程实习总结  实习时间:3月1日―――5月9日  实习地点:广州xx大学生实训基地  实训目标:  1.通过系统性的实训,熟练掌握java se、java ee知识体系,具备java开发...

    9年前   
    518    0

    Scratch趣味编程

    Scratch趣味编程随着社会信息化程度的不断提高,掌握运用计算机 解决问题的能力显得越来越重要,计算机程序设计是培 养学生运用计算机解决问题能力的重要途径,也是培养 学生计算思维与创新能力的...

    2年前   
    703    1

    编程人员的质量感言

    质  量  感  言   质量是社会生活中最常见的概念,是企业永恒的主题,关系到企业的生存与发展。做为加工中心的一名编程人员,深知这个岗位的重要性,图纸一但输入错误会对公司造成很大的损失,...

    12年前   
    12708    0

    现在完成时讲解(含讲解及习题)

    现在完成时讲解一、构成:肯定式:主语 + 助动词have/has + 动词的过去分词. 疑问式:助动词Have/Has + 主语 + 动词的过去分词?否定式: 主语 + 助动词have/ha...

    2年前   
    651    0