查看: 3812|回复: 4

[MPC] [TRK-MPC5602开发笔记]中断之UART接收中断

[复制链接]
  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
    发表于 2016-3-7 19:40:45 | 显示全部楼层 |阅读模式
    PowerPC中断比较难!对于其中断目前也是一知半解!随意倒腾之后也能够进行中断了!
    主要修改:

    lcf,这玩意太难了 参照官方修改过来的
    QQ截图20160307192421.png
    还有这个一堆语法也一知半解,最后修改之后能跑程序!
    QQ截图20160307192543.png

    然后是IVPR中断初始化,这个就相对容易多了,固定几句话 汇编实现
    1. e_lis           r3, __IVPR_VALUE@h   # __IVPR_VALUE is passed from linker
    2.   e_or2i   r3, __IVPR_VALUE@l
    3.   mtivpr   r3
    4.   se_blr                                                                         
    复制代码


    然后中断向量表的映射,copy官方的过来,直接在里面加入中断回调函数
    QQ截图20160307192825.png


    UART中断需要开启内核软件中断4和UART接收中断

    初始化
    1. initIrqVectors();                  //IVPR初始化
    2.         INTC.MCR.B.HVEN = 0;        //软件中断4
    3.         INTC.MCR.B.VTES = 0;      
    4.         INTC.IACKR.R = (uint32_t) &IntcIsrVectorTable[0];   //中断基地址
    5.        
    6.         INTC.PSR[79].R = 8;               
    7.   INTC.PSR[4].R = 6;                  //软件中断4

    8.   INTC.CPR.B.PRI = 0;          //设置当前的优先级
    9.   asm(" wrteei 1");                       //使能中断
    复制代码
    中断CallBack函数
    1. void UART0_ISR(void)
    2. {
    3.                         uint8_t receive ;
    4.                         INTC.SSCIR[79].R = 1;                                  //清除通道标志
    5.             uart0->UARTSR.R = 4;                           //清除接收标志
    6.       receive= UART_Receive(uart0);
    7.              UART_Send(uart0,receive) ;
    8. }

    9. /************************************************************/
    10. /*                     软件中断4函数                        */
    11. /************************************************************/
    12. void SWIRQ4_ISR(void)
    13. {
    14.   INTC.SSCIR[4].R = 1;                //清除中断标志
    15. }
    复制代码


    下载 然后就是见证奇迹的时候了,心中一阵唏嘘感叹!(窝巢,终于能用中断了!心中万匹草泥马奔过!-->程序猿的Chinese水平!)

    QQ截图20160307193552.png


    上个工程,可能lcf还是有严重BUG(目前未知,毕竟编译会有警告!),希望有大神能够指点一二!

    MPC5602.rar (309.71 KB, 下载次数: 62)

    评分

    参与人数 1NXP金币 +20 收起 理由
    小七 + 20 打赏!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15346
    最后登录
    1970-1-1
    发表于 2016-3-8 00:39:01 | 显示全部楼层
    我的怎么没有警告呀?最近没太多时间,也在整理呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
     楼主| 发表于 2016-3-8 09:04:04 | 显示全部楼层
    lkl0305 发表于 2016-3-8 00:39
    我的怎么没有警告呀?最近没太多时间,也在整理呢

    下面那个Flash分页中有问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2016-3-8 22:08:26 | 显示全部楼层
    官方的ADC例程给了中断的相关配置,不过也是没研究明白,看了你这个还是没研究的很透彻。
    很开心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    500

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1076
    最后登录
    2024-1-5
    发表于 2016-3-16 10:25:14 | 显示全部楼层
    学习了,谢谢!!!
    xingxiny75@gmail.com.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-8 00:34 , Processed in 0.127079 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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