while (true) {
if (bEPPflags.bits.bus_reset) {
DISABLE_ALL_INTERRUPTS;
bEPPflags.bits.bus_reset = 0;
ENABLE_ALL_INTERRUPTS;
}
if (bEPPflags.bits.setup_packet) {
DISABLE_ALL_INTERRUPTS;
bEPPflags.bits.setup_packet = 0;
ENABLE_ALL_INTERRUPTS;
control_handler();
}
if (bEPPflags.bits.configuration) {
if (bEPPflags.bits.ep1_rxdone)
{
DISABLE_ALL_INTERRUPTS;
bEPPflags.bits.ep1_rxdone = 0;
ENABLE_ALL_INTERRUPTS;
handle_request();
D12_WriteEndpoint(3, 5, &GenEpBuf);
}
}
if (g_control_flag == 0) {
DelayMs(60);
if (!SN7325_INT)
// continue;
handle_key();
}
} // Main Loop
这个是D12的固件,也就是单片机上的主函数,我之前做的就改改 handle_request(); 里面就去判断
GenEpBuf【0】做相应的事情就好了。D12_WriteEndpoint(3, 5, &GenEpBuf);这个再写回去,供上位机读取
目前是做了个IIC的读写的小工具,有兴趣的可以联系我~
|