|
本帖最后由 雷鹏 于 2019-7-17 12:26 编辑
基于V5板子的简单ESP8266调试例子。例子做的很简单,先发帖做个标记,有空再好好整整。
2019 07 17
修改 USB升级程序 加快 升级速度。
/*
*********************************************************************************************************
* 函 数 名: AppTaskStart
* 功能说明: 启动任务,也就是最高优先级任务,这里实现USB BULK传输使用。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: 5
*********************************************************************************************************
*/
__task void AppTaskStart(void)
{
//uint16_t i;
int32_t usb_rx_ch = -1;
int32_t usb_tx_ch = -1;
uint8_t data;
/* 创建任务 */
AppTaskCreate();
/* 初始化USB设备 */
usbd_init();
/* 启动连接 */
usbd_connect(__TRUE);
/* 这个4秒的延迟很有必要,防止启动不成功 */
os_dly_wait(4000);
//while (!usbd_configured ());
while(1)
{
if(USBD_CDC_ACM_DataAvailable() == 0)
os_dly_wait(1);
if (usb_rx_ch == -1) /* USB -> UART */
{
usb_rx_ch = USBD_CDC_ACM_GetChar ();
}
if (usb_rx_ch != -1)
{
while (USART_GetFlagStatus(USART6, USART_FLAG_TC) == RESET)
{}
/* 写一个字节到USART1 */
USART_SendData(USART6, (uint8_t)usb_rx_ch);
usb_rx_ch = -1;
}
/* UART -> USB */
if (usb_tx_ch == -1)
{
if(comGetChar(COM6, &data))
{
usb_tx_ch = data;
}
}
if (usb_tx_ch != -1)
{
if (USBD_CDC_ACM_PutChar (usb_tx_ch) == usb_tx_ch)
{
usb_tx_ch = -1;
}
}
}
}
|
|