打印
[其他ST产品]

USB_OTG_FS虚拟串口,设备模式下 执行IN端点类中断的时候,进行发送的操作,是批量传输...

[复制链接]
382|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
内政奇才|  楼主 | 2022-11-21 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在407的虚拟串口程序中有看到,将端点配置为批量传输端点。
在IN端点类传输完成中断中调用函数USB_OTG_EPStartXfer中有2步骤操作,一是使能端点DIEPCTL的EPENA位,使能端点传输;二是 在判断为同步传输的情况下 执行发送数据USB_OTG_WritePacket函数 完成数据到DFIFO压栈操作发送数据。
据我后面的测试 注释掉同步传输代码,能正常IN数据返还。
那么的第一步操作 【使能端点的DIEPCTL寄存器,USB自动会发送IN数据吗??
没看到相关解释,这是硬件机制吗? 使能了端点传输,然后确定了此次传输的xfer的地址和传输大小。自动传输?
自动写入DFIFO  而不是调用USB_OTG_WritePacket函数写入DFIFO?
  • depctl.b.cnak = 1;
  •     depctl.b.epena = 1;//使能端点  启动数据发送 在这的数据也就直接发送 ,因为前面已经规划好此次IN传输的数据大小在DIEPCTL寄存器
  •     USB_OTG_WRITE_REG32(&pdev->regs.INEP_REGS[ep->num]->DIEPCTL, depctl.d32); //写到中断控制寄存器 使能端点x的中断控制寄存器
  •     //"应用程序将此位置 1 以在端点上启动数据发送。
  •     if (ep->type == EP_TYPE_ISOC)
  •     {
  •       USB_OTG_WritePacket(pdev, ep->xfer_buff, ep->num, ep->xfer_len);   //将ep->xfer_buff及其后cnt数据 给到发送DFIFO入栈
  •     }

复制代码


使用特权

评论回复
沙发
帛灿灿| | 2024-11-1 07:20 | 只看该作者

得到不同测试条件下的输出电流和电压值,分析数据并进行比较

使用特权

评论回复
板凳
Bblythe| | 2024-11-1 08:23 | 只看该作者

这样可以获得更光滑的表面。

使用特权

评论回复
地板
周半梅| | 2024-11-1 10:19 | 只看该作者

是因为它作用是起到抑制,多应用于开关电源电路中

使用特权

评论回复
5
Pulitzer| | 2024-11-1 11:22 | 只看该作者

对于标准PCB设计,c形孔的最小直径为0.5mm,

使用特权

评论回复
6
童雨竹| | 2024-11-1 13:18 | 只看该作者

它是由两个尺寸相同、匝数相同的线圈对称地绕制在同一个铁氧体环形磁芯

使用特权

评论回复
7
Wordsworth| | 2024-11-1 14:21 | 只看该作者

镀半孔或c形孔是在板的边缘上镀半个半孔的一半。

使用特权

评论回复
8
Clyde011| | 2024-11-1 15:24 | 只看该作者

驱动脉冲变压器原边时,

使用特权

评论回复
9
公羊子丹| | 2024-11-1 16:17 | 只看该作者

这种电路结构的特点是:由四只相同的开关管接成电桥结构驱动脉冲变压器原边。

使用特权

评论回复
10
万图| | 2024-11-1 17:20 | 只看该作者

这种技术称为板对板焊接

使用特权

评论回复
11
Uriah| | 2024-11-1 18:23 | 只看该作者

开模的话,模具不会塌踏。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

900

帖子

0

粉丝