OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5083|回复: 4

探索者板子开发USB虚拟串口

[复制链接]

3

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-6-21
在线时间
8 小时
发表于 2017-9-27 17:45:12 | 显示全部楼层 |阅读模式
5金钱
用的原子个STM32F407探索者的开发板,同时参考了USB文件夹下面的"VCP"这个工程,希望使用USB的CDC类开发虚拟串口....
但是原子哥给的例程,里面没有虚拟串口的,另外,ID VBUS和SOF三个引脚没有接,而例程"VCP"里面这三个引脚都有接,所以.....第一个问题,这块板子的硬件能否实现虚拟串口的功能

这个工程是自己从零开始搭的,,主函数也很简单
int main(void)
{
        delay_init(168);
        printf("程序启动\n");
        sigui_sys_begin_1();
        printf("初始化1完毕\n");
        sigui_sys_begin_2();
        printf("初始化2完毕\n");

        USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_CDC_cb,&USR_cb);//CDC类
       
        while(1)
        {
                delay_ms(20);
        }
}

两个初始化函数可以无视,,,没做和USB有关的事,printf函数是打印在Debug Viewer 里面的,没有占用串口

添加了
usbd_core.c
usbd_ioreq.c
usbd_req.c
usb_core.c
usb_dcd.c
usb_dcd_int.c
usb_cdc_core.c
没做改动

然后编写了
usb_bsp.c
usbd_usr.c
usbd_cdc_vcp.c
usbd_desc.c
这个过程是参照那个读卡器程序修改的,
相较于读卡器程序,
usb_bsp.c和读卡器程序差不多
usbd_usr.c里面除了输出调试信息其他没有做事
usbd_cdc_vcp.c里有一些程序(但实际上根本没执行到里面,所以先不说)
usbd_desc.c用的是例程"VCP"里完整复制下来的,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
最后还添加了中断函数
void OTG_FS_WKUP_IRQHandler(void)//代码先不贴
extern uint32_t USBD_OTG_ISR_Handler (USB_OTG_CORE_HANDLE *pdev);
void OTG_FS_IRQHandler(void)
{
        printf("USB中断");
  USBD_OTG_ISR_Handler (&USB_OTG_dev);
}       




结果,

输出调试信息

输出调试信息

里面可以看到,
先执行了usb_bsp.c 下的USB_OTG_BSP_Init函数,里面配了PA11 12 15三个引脚
然后是usbd_usr.c 下的USBD_USR_Init ,这个函数没做任何事
然后执行了usb_bsp.c 下的USB_OTG_BSP_EnableInterrupt,配置NVIC
之后马上执行了一次OTG_FS_IRQHandler中断
之后是usbd_usr.c 下的USBD_USR_DeviceConnected 以及 USBD_USR_DeviceReset
接着就是不断的中断,,,,最后进入挂起状态,,,,

电脑上能看到是一个串口,也能读出设备描述符,,,但是没用,




不知道有谁能看出哪里?出现什么问题么?或者给一点指点,我再顺着方向找找

最佳答案

查看完整内容[请看2#楼]

当然是可以的。我们429就有虚拟串口例程,你移植到407就行了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-9-27 17:45:13 | 显示全部楼层
当然是可以的。我们429就有虚拟串口例程,你移植到407就行了。
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-6-21
在线时间
8 小时
 楼主| 发表于 2017-9-28 10:52:52 | 显示全部楼层
手动招呼大神,,,,有懂的前辈么?
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-6-21
在线时间
8 小时
 楼主| 发表于 2017-9-28 17:12:10 | 显示全部楼层
还是没人么?
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2017-6-21
在线时间
8 小时
 楼主| 发表于 2017-9-29 13:10:07 | 显示全部楼层
正点原子 发表于 2017-9-27 17:45
当然是可以的。我们429就有虚拟串口例程,你移植到407就行了。

好的,我先去看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 04:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表