LPC2131进不了串口中断,高手帮忙看看

[复制链接]
 楼主| 发表于 2010-11-9 22:58 | 显示全部楼层 |阅读模式
  1. AREA uart0_test, CODE, READONLY
  2. ENTRY
  3. PINSEL0 EQU 0xE002C000
  4. VICIntSelect EQU 0xFFFFF00C
  5. VICIntEnable EQU 0xFFFFF010
  6. VICVectAddr EQU 0xFFFFF030
  7. VICVectAddr0 EQU 0xFFFFF100
  8. VICVectCntl0 EQU 0xFFFFF200
  9. U0RBR EQU 0xE000C000
  10. U0THR EQU 0xE000C000
  11. U0DLL EQU 0xE000C000
  12. U0DLM EQU 0xE000C004
  13. U0IER EQU 0xE000C004
  14. U0IIR EQU 0xE000C008
  15. U0FCR EQU 0xE000C008
  16. U0LCR EQU 0xE000C00C
  17. U0LSR EQU 0xE000C014
  18. Vectors LDR PC, Reset_Addr
  19. LDR PC, Undef_Addr
  20. LDR PC, SWI_Addr
  21. LDR PC, PAbt_Addr
  22. LDR PC, DAbt_Addr
  23. NOP ; Reserved Vector
  24. LDR PC, IRQ_Addr
  25. ; LDR PC, [PC, #-0x0FF0] ; Vector from VicVectAddr
  26. LDR PC, FIQ_Addr

  27. Reset_Addr DCD Reset_Handler
  28. Undef_Addr DCD Undef_Handler
  29. SWI_Addr DCD SWI_Handler
  30. PAbt_Addr DCD PAbt_Handler
  31. DAbt_Addr DCD DAbt_Handler
  32. DCD 0 ; Reserved Address
  33. IRQ_Addr DCD IRQ_Handler
  34. FIQ_Addr DCD FIQ_Handler

  35. Reset_Handler B start
  36. Undef_Handler B Undef_Handler
  37. SWI_Handler B SWI_Handler
  38. PAbt_Handler B PAbt_Handler
  39. DAbt_Handler B DAbt_Handler
  40. IRQ_Handler B IRQ_Handler
  41. FIQ_Handler B FIQ_Handler
  42. start
  43. LDR R0,=PINSEL0 ;设置P0.0和P0.1为UART0
  44. LDR R1,[R0]
  45. BIC R1,#0x0F
  46. ORR R1,R1,#0x05
  47. STR R1,[R0]
  48. LDR R0,=U0LCR ;设置UART0工作模式,并使能访问除数锁存器
  49. MOV R1,#0x83
  50. STR R1,[R0]
  51. LDR R0,=U0DLL ;设置UART0波特率
  52. MOV R1,#0x01
  53. STR R1,[R0]
  54. LDR R0,=U0LCR ;禁止访问除数锁存器
  55. MOV R1,#0x03
  56. STR R1,[R0]
  57. LDR R0,=U0IER ;允许UART0接收中断
  58. MOV R1,#0x01
  59. STR R1,[R0]
  60. LDR R0,=U0FCR ;使能FIFO功能,并设置RX触发为8字节
  61. MOV R1,#0x81
  62. STR R1,[R0]
  63. MRS R0,CPSR ;使能IRQ中断
  64. BIC R0,#0x80
  65. MSR CPSR_c,R0
  66. LDR R0,=VICIntSelect
  67. MOV R1,#0x00
  68. STR R1,[R0]
  69. LDR R0,=VICVectCntl0
  70. MOV R1,#0x26
  71. STR R1,[R0]
  72. LDR R0,=VICVectAddr0
  73. LDR R1,=IRQ_Handler
  74. STR R1,[R0]
  75. LDR R0,=VICIntEnable
  76. MOV R1,#0x40
  77. STR R1,[R0]
  78. loop B loop
  79. END
 楼主| 发表于 2010-11-10 20:33 | 显示全部楼层
别沉下去啦
我自己顶
发表于 2010-11-11 08:57 | 显示全部楼层
楼主试试其他中断能进么?
另外楼主使用的是什么编译器?
 楼主| 发表于 2010-11-11 19:15 | 显示全部楼层
我用的是Keil MDK
发表于 2010-11-11 22:34 | 显示全部楼层
又见一用汇编的牛人啊  我表示泪流满面
发表于 2010-11-11 22:35 | 显示全部楼层
LPC2131这东西 用ZLG的开发板 ADS编译环境 C语言 很容易上手
你干嘛费那劲用汇编呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

0

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