硬汉嵌入式论坛

 找回密码
 立即注册
查看: 115|回复: 3
收起左侧

[ThreadX全家桶] threadx在启动调度器之前,阻止ADC中断执行,已配置BASEPRI

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-4-25 10:06:17 | 显示全部楼层 |阅读模式
请问,在stm32上threadx配置了BASEPRI后怎么让ADC中断正常执行?
系统上电后就要开始跑ADC(ADC+DMA+TIM),但是直到threadx调度器启动后,ADC中断才能正常执行。

多个tx_thread_create耗时太长了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2024-4-25 15:05:50 | 显示全部楼层
建议任务启动后,在启动任务里面再开启各种外设。不知你的问题是不是这个意思。

启动任务之前任何外设都先别开,仅需配置时钟主频即可

回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-4-25 15:54:13 | 显示全部楼层
eric2013 发表于 2024-4-25 15:05
建议任务启动后,在启动任务里面再开启各种外设。不知你的问题是不是这个意思。

启动任务之前任何外设都 ...

因为产品上电后,必须立刻就要打开ADC采样,300微妙后第一个ADC中断就来了
之前我把所有的任务启动都塞在tx_application_define里,然后stm32再启动的调度器。
每个tx_thread_create大概70微妙,然后第一个ADC的中断,就被阻塞了。
调度器启动之后ADC的中断倒是能准时运行。

现在打算只启动一个“启动任务”, 延时在启动任务里把其他任务启动起来,先让调度器能够运行。

BSPIEPRI在调度器启动前无效?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2024-4-26 09:25:51 | 显示全部楼层
DreamFox 发表于 2024-4-25 15:54
因为产品上电后,必须立刻就要打开ADC采样,300微妙后第一个ADC中断就来了
之前我把所有的任务启动都塞 ...

那就别用BSPIEPRI方式了。直接全局开关中断即可
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 17:15 , Processed in 0.250278 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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