Начало
This commit is contained in:
parent
df9054cee0
commit
6cf509ad35
|
|
@ -7,12 +7,31 @@
|
||||||
|
|
||||||
otg_core_type otg_core_struct;
|
otg_core_type otg_core_struct;
|
||||||
|
|
||||||
|
tSerialPortUsbArtery *SerialPortUsbArteryOtg1 = NULL;
|
||||||
|
|
||||||
void usb_delay_ms(uint32_t ms) {
|
void usb_delay_ms(uint32_t ms) {
|
||||||
SystemDelayMs(ms);
|
SystemDelayMs(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OTG_IRQ_HANDLER(void) {
|
void OTG_IRQ_HANDLER(void) {
|
||||||
usbd_irq_handler(&otg_core_struct);
|
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) {
|
void usb_clock48m_select(usb_clk48_s clk_s) {
|
||||||
|
|
@ -252,6 +271,8 @@ void SerialPortUsb_Init(
|
||||||
env->rxDataSnifferQueue = 0;
|
env->rxDataSnifferQueue = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SerialPortUsbArteryOtg1 = env;
|
||||||
|
|
||||||
// usb gpio config
|
// usb gpio config
|
||||||
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);
|
InitThreadAtrStatic(&env->thread.attr, "UsbDriver", env->thread.controlBlock, env->thread.stack, osPriorityNormal);
|
||||||
env->thread.id = 0;
|
env->thread.id = 0;
|
||||||
|
|
||||||
UsbDriver_StartThread(env);
|
//UsbDriver_StartThread(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
tSerialPortIO SerialPortUsb_GetIo(tSerialPortUsbArtery *env) {
|
tSerialPortIO SerialPortUsb_GetIo(tSerialPortUsbArtery *env) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue