Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
LPC2138跑RT-Thread后不能响应外部中断
发布于 2014-12-20 11:58:45 浏览:3830
订阅该版
问题说明: 该硬件平台在不跑RT-Thread时,可以正常响应外部中断。 移植了RT-Thread后(说是移植,其实就是直接用BSP里面的LPC2148分支,LPC2148兼容LPC2138),按照原来的方式配置好寄存器。 但是就是死活响应不了外部中断。 中断有安装,并且中断有使能。 另外,均可响应定时器0、定时器1产生的中断。 是不是还有什么东西我还没有考虑到? ![interrupt.PNG](https://oss-club.rt-thread.org/uploads/6488_e6436901c22b1a4339d1dfee01f51363.png)
查看更多
11
个回答
默认排序
按发布时间排序
grissiom
2014-12-20
这家伙很懒,什么也没写!
如果可以调试的话,需要看下 NVIC 的配置是不是对的`
yangwc
2014-12-20
这家伙很懒,什么也没写!
>如果可以调试的话,需要看下 NVIC 的配置是不是对的 上电后在rt_hw_interrupt_init()中就做了如下初始化:(所有中断均配置为向量IRQ中断) ```c /* initialize VIC*/ VICIntEnClr = 0xffffffff; VICVectAddr = 0; /* set all to IRQ */ VICIntSelect = 0; ``` 在后来的安装中断过程中分配要安装的中断的向量中断号和中断服务程序地址。 上述过程应该是不存在问题的。 外部中断寄存器地址配置为: ```c //Eint2中断设置 PINSEL0 |= 0x80000000; //P0.15为EINT2 EXTMODE = 0x04; //用边沿,下降沿 EXTINT = 0x04;[/code] ``` 另外在这个BSP中没有可以将一个中断分配为FIQ中断的接口。而且IRQ中断之间不能自行分配优先级,而是按照VIC Channel编号固定了IRQ中断之间的优先级。
yangwc
2014-12-20
这家伙很懒,什么也没写!
>如果可以调试的话,需要看下 NVIC 的配置是不是对的 仿真查看irq_desc结构体数组中的值,可以看到中断服务程序的地址分配是正确的。
crystalfiber
2015-01-06
这家伙很懒,什么也没写!
应该跟系统无关,一定是硬件初始化问题。
grissiom
2015-01-07
这家伙很懒,什么也没写!
结个贴,貌似 LZ 在群里说了。原因是因为 BSP 里面写的最大中断号比硬件的要小,导致高位的中断无法响应。
bernard
2015-01-07
这家伙很懒,什么也没写!
不过没见lz把pull request发出来,LPC2138/48用得少了呢
yangwc
2015-01-14
这家伙很懒,什么也没写!
>不过没见lz把pull request发出来,LPC2138/48用得少了呢 --- 很早就有发出来,第一次在GitHub上发Pull request,不知道是不是我操作有误。这个是我发的Pull request的链接:https://github.com/yangwc/rt-thread/commit/38b35e6d148434ab86e3b1ba3ec92fd2f7b9ed7b 本地客户端的截图:
yangwc
2015-01-14
这家伙很懒,什么也没写!
LPC2138的确是一颗比较老的芯片,几年前开发的一款产品上用的是这颗料,当时没用OS。最近想尝试一下RTT,这款产品上又恰好有串口,所以才选择在LPC2138上跑RTT试试看。ARM官网上也有说不推荐ARM7用于新产品开发。
bernard
2015-01-14
这家伙很懒,什么也没写!
没有呀,没见到你的request。 关于如何在github上发pull request,可以参见这篇文章: [https://github.com/RT-Thread/RealBoard4088/blob/master/documentation/GithubGuide.md](https://github.com/RT-Thread/RealBoard4 ... ubGuide.md) [见其中最后的第八节]
aozima
2015-01-14
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
首先感谢您的关注和支持,简单看了一下: 1.只是提交到您自己的副本中去了,没有申请合并到上游主干。 2. 您往rt_hw_interrupt_install里面添加了一个参数 int priority,这个修改应该是不会被接受的。先不说加得对不对,这样改后所有的BSP都将不能使用。 3. 对于您反映的主要问题,仅需要修改 define MAX_HANDLERS 16 -> 32 这一个就好,其它的修改如果您认为很有必要,可以单独发讨论再单独提交,混在一起是不会被接受的。
撰写答案
登录
注册新账号
关注者
0
被浏览
3.8k
关于作者
yangwc
这家伙很懒,什么也没写!
提问
2
回答
5
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
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
在RT-Thread Studio中构建前执行python命令
2
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
3
CherryUSB开发笔记(一):FSDEV USB IP核的 HID Remote WakeUp (USB HID 远程唤醒) 2025-01-18 V1.1
4
RT-thread 缩写字典
5
RT Thread 源码分析笔记 :线程和调度器
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
聚散无由
2
篇文章
14
次点赞
catcatbing
2
篇文章
4
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
5
次点赞
xiaorui
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部