完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
你好!
我真的不知道如何解释这个。但我已经启用了 CANBUS,它工作得很好。我也激活了 USB,它也可以工作。 但是由于我已经将CANBUS RX0的抢占从0改为1,所以我无法使用USB连接。 我将 CANBUS RX0 的抢占从 0 更改为 1,否则 Systick 将停止。只要我在 CANBUS RX 中断函数中,HAL_GetTick() 就会给出相同的数字。 当我优先为 CANBUS RX0 设置 1 并插入 USB 时会发生什么。从我的电脑角度来看,它说它无法连接设备。 从我的 STM32 角度来看,我永远陷入 wIstr = 41465的 while 循环中
我需要帮助的是 HAL_GetTick() 不适用于 CANBUS RX0 优先级 0,所以我将优先级更改为 1。所以现在 HAL_GetTick() 在上面的 CANBUS RX 中断函数中工作。 但是 USB 将无法工作,因为如果 CANBUS RX0 优先级为 1,我将无法连接它。所以我需要再次将其设置为 0,但我遇到了与以前相同的问题。 那么我应该在这里做什么?
我的 STM32 是 STM32F373VBTx,我使用的是 STM32CubeIDE 1.7.0。 |
|
相关推荐
1个回答
|
|
|
为了能够在中断中正确使用 HAL_GetTick()(HAL 依赖它),SysTick 必须具有比中断更高的优先级。
因此,将 SysTick 的优先级设置为最高级别在理论上将允许它在任何地方使用。 不幸的是,根据应用程序,将 SysTick 设置为最高优先级可能会导致其他事件的反应性损失。 根据经验,根本不建议在 ISR 中等待事件或执行耗时的任务。 选择选项 1 是最合乎逻辑的事情。选项 2 在理论上应该可行。选项 3 不会有任何改变。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1470 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1522 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3670 浏览 1 评论
3861 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2479 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
750浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
683浏览 5评论
729浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
973浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
777浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 08:08 , Processed in 1.039947 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7769