导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→最近在做一个打印机程序,找了个例子,有个地方不懂,请大虾们指[vrteam]

 *第17411篇: 最近在做一个打印机程序,找了个例子,有个地方不懂,请大虾们指点!

  
楼 主:vrteam 2008年5月8日11:06
 最近在做一个打印机程序,找了个例子,有个地方不懂,请大虾们指点!
程序如下:
void Timer0_ISR( void ) interrupt 1 using 2
{
 TR0 = 0;
    if( gExciteSetp ==4 ) gExciteSetp=0;  //如果走纸电机激励计数为4,那么清0
    gP3Buf = ( gP3Buf & 0x9F )|MotorControl[ gExciteSetp++ ];     
    P3 = gP3Buf;                          //输出打印头走纸电机驱动字
    TH0 = *pSpeedTab;   
    TL0 = *(pSpeedTab + 1 );
    TR0 = 1;    
    if( bMotorMode ) pSpeedTab+=2;        //加速     
    bNextSetp = 1;                       //1 走纸电机输出下一步
    gCntSetp--;                           //走纸电机步计数器 自减1
}

uint8 *pSpeedTab;          //指向打印头走纸电机加速表指针变量
uint8 gP3Buf;                 //P3口输出缓冲
uint8 gExciteSetp;     //走纸电机激励计数
uint8 gCntSetp;              //走纸电机步计数器
bit bNextSetp;                   // 1 走纸电机输出下一步
bit bMotorMode;                  //走纸电机运行方式 1 加速 0 匀速
static uint8 MotorControl[ ] = { 0x20,0x00,0x40,0x60 }; //步进电机输出控制字


问题:
gP3Buf = ( gP3Buf & 0x9F )|MotorControl[ gExciteSetp++ ];   
这句是给gP3Buf 赋值,
( gP3Buf & 0x9F )|MotorControl[ gExciteSetp++ ]是什么意思我不懂 


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:如果苏州、上海、无锡附近的朋友需要做电子产品方面的设计可以联系我

[下一篇主题]:[灌水]专营单片机!