Designing a low cost CY7C63723 combination mouse(8)

2021-01-20 19:41

in response to a SET WRAP MODE commandfrom the host. It then sets the mouse mode towrap. See the PS/2 specification for more detailson wrap mode.

void ResetWrapMode() -This routine is called inresponse to a RESET WRAP MODE commandfrom the host. The mode is then reset to theprevious mode. According to the IBM spec, ifstream mode is enabled, the mouse is disabledwhen the wrap mode is reset.

void ReadData(void) - This routine is called inresponse to a READ DATA command from thehost. This routine then sends a mouse packet inresponse to the command

void SetStreamMode(void) - This routine is calledin response to a SET STREAM MODE commandfrom the host. Stream mode is then enabled.See the PS/2 specification for more informationabout stream mode.

void StatusRequest(void) - This routine is calledin response to a STATUS REQUEST commandfrom the host. A three byte report is sent to thehost in response to this request. See the PS/2mouse specification for more details.

char SetResolution(char p) - This routine is calledin response to a SET RESOLUTION commandfrom the host. Set Resolution is a two bytecommand; the 2nd byte being the resolution

itself. This routine is called after reception of thefirst byte, and so does nothing by itself

void SetScaling(void) - This routine is called inresponse to a SET SCALING command from thehost. Scaling then changes to 2:1.

void ResetScaling(void) - This routine is called inresponse to a RESET SCALING command fromthe host. The scaling is then reset back to 1:1.char GetByte(void) – This routine checks to see ifthe host is requesting to send data, and if so,it clocks in a data byte from the host. The

function returns the received byte and implicitlysets the carry to 0 if the reception occurredwithout errors. GetByte() turns off the 1.024millisecond interrupt during PS/2 clocking so asnot to impose the potential for clock jitter due tothat interrupt.

the proper handler.

void SendMouseData(void) – This routine formatsa mouse packet according to the PS/2 Mousespecification and sends it to the host.

void Put(char p) - Put() attempts to senda byte to the host. It is called to send an ACK,ERROR, or RESEND to the host. In accordancewith the IBM specification, these responses arenot held for retransmission in the event that thehost requests to send a byte before the mousecan send the response itself. Thus, this routinewaits for host inhibit to go away, then sends thebyte. If the host requests-to-send before thishappens, it simply returns without sending thebyte

void ps2main(void) - ps2main() spins in an infiniteloop waiting for an event that needs servicing.void PutNextByte(void) - This routine sends thenext byte of the message buffer to the host.void ReInitialize(void) - This routine reinitializesPS/2 variables to their default states

void ResetInterval(void) - This routine resets themouse report interval to the value last sent by thehost. The report interval is counted down in themain loop to provide a time base for sendingmouse data packets.

void Ps2MouseTask(void) - This routine handlesps2 mouse data packet management

void CheckZmouse(void) - This function is calledwhenever a set sample rate parameter is

received. It maintains a sequence counter whichadvances each time a rate is received that

matches the above sequence. If the sequence iscompleted, the z-wheel is enabled.

void ApplyResolution(void) - This routine scalesthe mouse output by right-shifting the mousecounts to achieve a /2 for each resolution factor.void ApplyScaling(void) - This routine scales themouse output according to the following to thePS/2 mouse specification, when scaling isenabled by the host.

send1 (assembler routine) – sends a PS/2 1 bitsend0 (assembler routine) – sends a PS/2 0 bit


Designing a low cost CY7C63723 combination mouse(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:火电厂各系统流程图05(主系统)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: