Начало

This commit is contained in:
cfif 2026-04-03 14:44:00 +03:00
parent df9054cee0
commit 6cf509ad35
1 changed files with 22 additions and 1 deletions

View File

@ -7,12 +7,31 @@
otg_core_type otg_core_struct;
tSerialPortUsbArtery *SerialPortUsbArteryOtg1 = NULL;
void usb_delay_ms(uint32_t ms) {
SystemDelayMs(ms);
}
void OTG_IRQ_HANDLER(void) {
usbd_irq_handler(&otg_core_struct);
if (SerialPortUsbArteryOtg1 != NULL) {
uint16_t data_len = usb_vcp_get_rxdata(&otg_core_struct.dev, SerialPortUsbArteryOtg1->usb_buffer);
if (data_len > 0) {
for (uint16_t i = 0; i < data_len; ++i) {
osMessageQueuePut(SerialPortUsbArteryOtg1->rxDataQueue, &SerialPortUsbArteryOtg1->usb_buffer[i], 0x0, 0U);
if (SerialPortUsbArteryOtg1->rxDataSnifferQueue) {
osMessageQueuePut(SerialPortUsbArteryOtg1->rxDataSnifferQueue, &SerialPortUsbArteryOtg1->usb_buffer[i], 0x0, 0U);
}
}
}
}
}
void usb_clock48m_select(usb_clk48_s clk_s) {
@ -252,6 +271,8 @@ void SerialPortUsb_Init(
env->rxDataSnifferQueue = 0;
}
SerialPortUsbArteryOtg1 = env;
// usb gpio config
usb_gpio_config();
@ -280,7 +301,7 @@ void SerialPortUsb_Init(
InitThreadAtrStatic(&env->thread.attr, "UsbDriver", env->thread.controlBlock, env->thread.stack, osPriorityNormal);
env->thread.id = 0;
UsbDriver_StartThread(env);
//UsbDriver_StartThread(env);
}
tSerialPortIO SerialPortUsb_GetIo(tSerialPortUsbArtery *env) {