在线时间1853 小时
UID45393
ST金币0
蝴蝶豆82
注册时间2008-5-4
社区小助手
- 最后登录
- 2020-12-9
|
发表于 2017-12-19 12:47:01
|
显示全部楼层
a0a.1 32b0c
1、在接收到USB数据包的个数后(PKTCNT),USB核将内部自动将Data OUT对应的端点的NAK为置1,以阻止接收更多数据包; 在运行到__HAL_LOCK(hpcd)时;恰好有一个接收中断,由于USB中断具有优先级,跳转到接收中断内执行;此时获取互斥锁失败导致返回,接收函数在OUT端点没有再次打开就已经提前结束。
因为是发送与接收处于不同优先等级导致资源冲突所致,所以可以将发送也放到与USB接收中断相同的中断等级中例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级,问题得以解决。
另外CubeF4 V1.16.0,CubeF2 V1.6.0版本中此问题得到了解决。
2、唤醒脚边沿的变化即为唤醒后开始执行第一条语句的时间;
唤醒引脚上波形的上升沿用于唤醒低功耗模式,引脚边沿的变化即为唤醒后开始执行第一条语句的时间,两个跳动边沿的时间间隔即为唤醒时间。
3、
a)SW4STM32是基于Eclipse图形界面的完整集成开发环境,完全免费且没有大小限制
以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
b) TrueSTUDIO是基于Eclipse图形界面的完整集成开发环境。使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。
可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。 |
|