图8:设备(左)与主机(右)程序流程图。
图8给出的流程图显示了本例中器件与主机程序的逻辑工作关系:
main.c设备程序如列表1所示:USB_Start()调用发起由USB用户模块库处理的枚举序列;一旦枚举完成,即让缓冲器接收PC发出的发光报告,再等待设置SOF标记。SOF_ISR每隔1毫秒设置一次标记。
设置SOF标记后,将调用sCAN-buttons(),这是按钮去抖动例程。如果检测到某按钮发生更改,就会向PC发送按钮报告,然后再检查发光报告是否在前一个帧中被接收。如果已接收发光报告,程序就会更新本地LED。需要注意的是,对于main()而言,数据被转移到端点缓冲器中又转移出去,USB通信由SIE在后台处理。USB运行时操作就像读写端点缓冲器一样简单。
作者:Jon Pearson
Cypress SEMIconductor公司
本文关键字:暂无联系方式接口电路,单元电路 - 接口电路