shishinanliao

所在地区: 全国
首页
服务/硬件产品
行业解决方案
案例
USB2.0采集卡设计心得分享,包括程序+bushound5.0完美版+协议等_百工联_工业互联网技术服务平台
USB2.0采集卡设计心得分享,包括程序+bushound5.0完美版+协议等
全国
浏览
-
shishinanliao
方案概述:

USB2.0采集卡设计中的IO口复用问题可以通过配置USB和注意USB电源的开启和关闭来解决。在代码中使用USB_Interrupts_Config()、Set_USBClock()和USB_Init()函数来配置USB,并注意PA11和PA12这两个IO口在开启USB电源后只供USB使用。此外,根据地址和端点接收请求,并使用缓冲区存放数据可以实现所需功能。建议新手学习和理解附件中的详细说明,逐渐加深对USB的理解。

解决方案:
针对USB2.0采集卡设计中的IO口复用问题,需要进行以下设置:

1. 在代码中使用USB_Interrupts_Config()、Set_USBClock()和USB_Init()这三个函数来配置USB。
2. USB_Interrupts_Config()函数用于设置USB唤醒中断和USB低优先级数据处理中断。
3. Set_USBClock()函数用于配置USB时钟,将主频72M分频得到48M的USB时钟(1.5分频)。
4. USB_Init()函数用于初始化USB,其中调用了Joystick_init函数,开启了USB部分的电源等。
5. 需要注意的是,USB配置并没有对PA11和PA12这两个IO口进行设置。一旦开启了USB电源(USB_CNTR的PDWN位清零),PA11和PA12将不再作为其他功能使用,仅供USB使用。因此,在开启了USB电源之后,无论如何配置这两个IO口都是无效的。
6. 如果需要获取对这两个IO口的配置权,需要关闭USB电源,即置位USB_CNTR的PDWN位。

此外,在USB的数据接收过程中,根据地址和端点来接收请求,并将接收的数据存放在缓冲区中。在STM32芯片中,有一个USB和CAN共享的专用缓冲区。具体的缓冲区描述表可以在USB_core.c文件的u8 Setup0_Process(void)函数中找到。

总结来说,USB2.0采集卡设计中的IO口复用问题可以通过以上的设置和配置来解决。在代码中正确配置USB,并注意USB电源的开启和关闭,以及合理使用缓冲区来接收和处理数据,可以实现所需的功能。

附件内容中有更详细的说明,建议新手耐心学习和理解,随着时间的推移,对USB的理解会逐渐加深。
为您推荐其他供应商的行业解决方案
免责声明:本网站部分内容来源互联网,如权利人发现存在侵权信息,请及时与本站联系删除。
供应商:
shishinanliao
所在区域: 全国
公司简介: Shishinanliao是一家专注于工业领域的技术公司。我们擅长无人机、智能照明、智能车、物联网、远程通信、电路板等领域的研发和解决方案提供。 在无人机领域,我们参与了CREELINKS STM32无人机+遥控器资料的开源项目,提供了硬件、程序源码、地面站源码和教程等资源。在智能照明方面,我们设计了3通道LED智能照明系统,附带PFC拓扑和DALI功能,提供了原理图、PCB、源码和设计报告等资料。此外,我们还提供了689种常用SMT贴片Altium Designer集成库,方便电路设计师使用。 除此之外,我们还提供了其他多个解决方案,如电源设计、传感器、工业控制、音频电路板、自动化控制等。我们的产品和解决方案广泛应用于工业安全、智能家居控制、智能穿戴、共享设备等领域。 我们致力于为客户提供高质量的技术支持和解决方案,帮助他们实现创新和发展。如果您有任何需求或合作意向,欢迎与我们联系。