Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
外部中断
中断延迟
硬实时
GD32 外部中断时延
发布于 2023-08-02 21:36:23 浏览:1092
订阅该版
主控是GD32F303VCT6,使用的RTT,现在是三个引脚对应(PC13~15)外部中断进入后控制一个引脚拉高,然后可能是因为会有全局中断关闭的行为,会出现一些情况下触发中断和开启引脚时延过大的情况,可以接受的delay现在在5us左右,而实际已经采到会出现17us的情况。 其中一个效果如下:  信号0是被拉高的信号,3是外部中断触发信号,1的高电平为中断被全局关掉的部分。 因为重写了禁用外部中断的函数,在禁用中断前先拉高对应gpio,用来测试。 ``` ;/* ; * rt_base_t rt_hw_interrupt_disable(); ; */ rt_hw_interrupt_disable PROC EXPORT rt_hw_interrupt_disable ; Set GPIO (Assuming the bit of interest is the 7th bit) LDR r1, =0x40010C10 ; Load the address of GPIO_BOP MOV r2, #0x800 ; The mask for the 11th bit STR r2, [r1] ; Write to GPIO_BOP, setting the 7th bit MRS r0, PRIMASK CPSID I BX LR ENDP ;/* ; * void rt_hw_interrupt_enable(rt_base_t level); ; */ rt_hw_interrupt_enable PROC EXPORT rt_hw_interrupt_enable MSR PRIMASK, r0 ; Clear GPIO (Assuming the bit of interest is the 7th bit) LDR r1, =0x40010C14 ; Load the address of GPIO_BC MOV r2, #0x800 ; The mask for the 11th bit STR r2, [r1] ; Write to GPIO_BC, clearing the 7th bit BX LR ENDP ``` EXTI10_15_IRQHandler已经重写,没有使用rtt的接口,几个相关的io也是直接调用的GD的库。 我现在不太理解,因为外部中断已经被我设为0 0 的优先级,按理说是最高了,从Keil的中断表里看也只有SVCall是0优先级,(systick和pendsv优先级是240也是不能理解的部分)。 如果关闭外部中断后不响应中断,在开启中断后应该直接响应最高优先级的中断吗,为什么按照上面的图里,中间还有多次开关的情况却没有先响应我的中断。
查看更多
4
个回答
默认排序
按发布时间排序
sync
2023-08-03
这家伙很懒,什么也没写!
GD32F303VCT6 只有前面的256k是零等待的,后面flash执行速度会慢点,楼主考虑下这个因素
goldengrandpa
2023-08-03
这家伙很懒,什么也没写!
会不会因为systick优先级被调到240最低了导致系统节拍不准,关中断的地方又和系统节拍有关,从而导致关中断的时间太久,导致造成外部中断时延
Blues_Jiang
2023-08-03
这家伙很懒,什么也没写!
考虑了一下 这种测试方法如果开关中断是嵌套的 那我显示的波形确实有问题了,主要现在的核心还是优先想解释现状,后面可能会移植到裸机。
兜兜里有啥
2023-08-04
这家伙很懒,什么也没写!
可以参考FreeRTOS方法,只关优先级较低的中断,比如只关优先级大于等于1的中断,将外部中断设置为0,这样就不受系统影响了,需要注意的是别在优先级为0的中断里调用RTT的接口函数。
撰写答案
登录
注册新账号
关注者
1
被浏览
1.1k
关于作者
Blues_Jiang
这家伙很懒,什么也没写!
提问
1
回答
5
被采纳
0
关注TA
发私信
相关问题
1
外部中断中能改变外部中断的功能,作为普通管脚用吗
2
外部中断计数输入的脉冲
3
关于4.0.2版本中STM32的PIN设备外部中断的相关问题
4
外部中断问题,现在开机上电前几次不能用,后面就可以了
5
我用外部中断接收数据,接收的时序非常严谨,现在是一次可以一次不行
6
外部中断我接收数据一次可以一次不行,我中断优先级设置最高了,是还有中断干扰吗?
7
使用外部中断释放信号量,在线程里接收数据,一次成功一次失败,这个代码有问题吗?
8
配置的GPIO中断无法执行中断服务子程序
9
增加系统,引脚为上升沿触发,触发中断,进入到中断时间延时10us,系统会干扰吗
10
rt 1052 触摸屏 INT 中断
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RTT串口查找函数使用过程中遇到的问题。
2
RT-Thread CI编译产物artifacts自动上传功能介绍
3
STM32G030移植RT-Thread
4
CubeMX & RT-Thread Studio 联合开发说明
5
RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的RT-Thread Env
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
cubemx
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
lchnu
5
个答案
3
次被采纳
三世执戟
9
个答案
2
次被采纳
张世争
1
个答案
2
次被采纳
a1012112796
14
个答案
1
次被采纳
聚散无由
5
个答案
1
次被采纳
本月文章贡献
jinchanchan
12
篇文章
14
次点赞
ssdd45555
3
篇文章
2
次点赞
lvdongchina
2
篇文章
1
次点赞
聚散无由
1
篇文章
4
次点赞
RTT_逍遥
1
篇文章
3
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部