牛卧堂MCU技术交流

标题: 请教关于BSP资源里的VCOM例程 [打印本页]

作者: u9854610    时间: 2014-6-11 16:11
标题: 请教关于BSP资源里的VCOM例程
在NUC123SeriesBSP_CMSIS_V1.01.006\SampleCode\USB\Smpl_VCOM範例主程式中,我想透過PC串口來收發資料,程式會卡在 VCOM_MainProcess();
int main (void)
{
    SYS_Init();
    VCOM_MainProcess();                    //en: Execute VCOM process
}

如果要在主程式中加一段程式UART_WRITE(UART0, 0x31);來傳送資料該如何設定?
int main (void)
{
    SYS_Init();
    VCOM_MainProcess();                    //en: Execute VCOM process
    UART_WRITE(UART0, 0x31);
}


作者: a_ziliu    时间: 2014-6-13 10:24
請把串口開啟。

附件完整样例
Project path:\Nano100BSeriesBSP_CMSIS_V1.00.005 - UART\Samples\Driver\UART\KEIL

void UART0_Init(void)

Nano100BSeriesBSP_CMSIS_V1.00.005 - UART.zip (459.38 KB, 下载次数: 1912)


作者: u9854610    时间: 2014-6-13 12:10
要透過USB的VCOM來傳送資料喔!不是單純的UART
作者: a_ziliu    时间: 2014-6-17 10:08
在這一段處理
USBD_MemCopy((uint8_t *)(USBD_BUF_BASE + USBD_GET_EP_BUF_ADDR(EP2)), (uint8_t *)gRxBuf, i32Len);
        USBD_SET_PAYLOAD_LEN(EP2, i32Len);

/* Check if any data to send to USB & USB is ready to send them out */
    if(comRbytes && (gu32TxSize == 0)) {
        i32Len = comRbytes;
        if(i32Len > EP2_MAX_PKT_SIZE)
            i32Len = EP2_MAX_PKT_SIZE;

        for(i=0; i<i32Len; i++) {
            gRxBuf[i] = comRbuf[comRhead++];
            if(comRhead >= RXBUFSIZE)
                comRhead = 0;
        }

        NVIC_DisableIRQ(UART0_IRQn);
        comRbytes -= i32Len;
        NVIC_EnableIRQ(UART0_IRQn);

        gu32TxSize = i32Len;
        USBD_MemCopy((uint8_t *)(USBD_BUF_BASE + USBD_GET_EP_BUF_ADDR(EP2)), (uint8_t *)gRxBuf, i32Len);
        USBD_SET_PAYLOAD_LEN(EP2, i32Len);
    }

作者: f57730    时间: 2015-8-17 18:30
請問USBD_MemCopy((uint8_t *)(USBD_BUF_BASE + USBD_GET_EP_BUF_ADDR(EP2)), (uint8_t *)gRxBuf, i32Len);
        USBD_SET_PAYLOAD_LEN(EP2, i32Len);
程式碼中要如何修改才能有利用VCOM傳輸資料的功能呢?因為我在上面這一段程式碼跟我未修改前的是一模一樣的

作者: wright    时间: 2015-8-19 09:45
本來就會 一直在處理 VCOM_MainProcess() ,裡面是處理 USB 資料的進出 .
作者: Angus    时间: 2015-8-19 10:45
您可以试试本论坛中的这个代码 ,
http://www.nuvoton-m0.com/forum. ... &extra=page%3D1
代码烧录到NUC123 后会一直向PC机串口助手发送数据,也可以在串口助手窗口向NUC123发送数据





欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2