免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: angelawushuang
打印 上一主题 下一主题

ARM下驱动中断读写问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-11-02 10:06 |只看该作者

回复 #8 dreamice 的帖子

对中断,我就只做了个初始化,请问要怎么设置全局中断打开和中断是否使能啊?

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
12 [报告]
发表于 2008-11-02 10:59 |只看该作者
原帖由 angelawushuang 于 2008-11-2 10:06 发表
对中断,我就只做了个初始化,请问要怎么设置全局中断打开和中断是否使能啊?



这个你需要看spec啊!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
13 [报告]
发表于 2008-11-02 11:06 |只看该作者
原帖由 angelawushuang 于 2008-11-2 10:06 发表
对中断,我就只做了个初始化,请问要怎么设置全局中断打开和中断是否使能啊?


ARM的控制寄存器你不知道怎么设置么?全局中断的使能?以及具体中断的使能,查找对应的中断号是否正确。

论坛徽章:
0
14 [报告]
发表于 2008-11-03 16:33 |只看该作者

回复 #13 dreamice 的帖子

中断号是正确的·· 你所谓的设置控制寄存器是指这个吧
     // set FCR.FIFO允许,RXD复位,TXD复位,DMAmode=1,触发为14
        TLB.FCR = 0xcf;
          TLB.FCR) = 0xc9;
        
         TLB.MCR)= 0x08;//使能外部串口通道
         TLB.LCR = 0x83;//设置8bit


还有,全局中断的使能以及具体中断的使能是不是操作这些寄存器啊?
         
        //特殊寄存器已打开,设置BPS
                TLB.DLL=0x24;
                TLB.DLM=0x00;

         TLB.LCR =0x03;
        
        TLB.IER=0x03;//接收保持和中断允许

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
15 [报告]
发表于 2008-11-03 17:32 |只看该作者
原帖由 angelawushuang 于 2008-11-3 16:33 发表
中断号是正确的·· 你所谓的设置控制寄存器是指这个吧
     // set FCR.FIFO允许,RXD复位,TXD复位,DMAmode=1,触发为14
        TLB.FCR = 0xcf;
          TLB.FCR) = 0xc9;
        
         TLB.MCR) ...



兄弟,关于ARM硬件本身的设置与控制,你应该看一看硬件手册啊。

论坛徽章:
0
16 [报告]
发表于 2008-11-04 23:17 |只看该作者
在程序里面打印以下中断状态寄存器吧。
看中断到底有没有~~

论坛徽章:
0
17 [报告]
发表于 2008-11-06 14:23 |只看该作者

回复 #15 dreamice 的帖子

我看了硬件手册了,中断已经打开··用万用表测试中断引脚,一直是高电平,可就是没进中断程序,请问有可能是什么原因呢? 还有一个问题,配置好寄存器后我打印了下 线路状态寄存器的内容,居然是104,表明是16位的吧···可寄存器是8位的啊 怎么会出现这种情况?谢谢了·

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
18 [报告]
发表于 2008-11-06 15:11 |只看该作者
原帖由 angelawushuang 于 2008-11-6 14:23 发表
我看了硬件手册了,中断已经打开··用万用表测试中断引脚,一直是高电平,可就是没进中断程序,请问有可能是什么原因呢? 还有一个问题,配置好寄存器后我打印了下 线路状态寄存器的内容,居然是104,表明是16 ...



你得ARM是8位的?什么型号?
现在最有可能的原因就是中断号注册不对。

论坛徽章:
0
19 [报告]
发表于 2008-11-06 15:57 |只看该作者

回复 #18 dreamice 的帖子

arm 是32位的··我做的是在ARM上做个TL16C554芯片的串口驱动,TL16C554的寄存器是8位的
  中断号注册的话,电路图上是D17(MPUIO13),我注册中断的时候用的就是MPUIO13,由于这个口本身不是MPUIO,
所以我在初始化是将D17复用成了MPUIO13,即使REG3【23:21】=001就可·
  outl(inl(FUNC_MUX_CTRL_3)|(0x200000), FUNC_MUX_CTRL_3);


     而且同时我将13口置高,使之处于输入状态:
        outl(inl(MPUIO_IO_CNTL_REG)|(0x2000), MPUIO_IO_CNTL_REG);

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
20 [报告]
发表于 2008-11-06 16:36 |只看该作者
原帖由 angelawushuang 于 2008-11-6 15:57 发表
arm 是32位的··我做的是在ARM上做个TL16C554芯片的串口驱动,TL16C554的寄存器是8位的
  中断号注册的话,电路图上是D17(MPUIO13),我注册中断的时候用的就是MPUIO13,由于这个口本身不是MPUIO,
所以我在 ...



现在不太明白,你这个是TL16C554的中断还是ARM的中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP