导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[a872156]ucos中斷問題



No.42795
作者:a872156
邮件:a872156@yahoo.com.tw
ID:14542
登陆:3次
文章数:4篇
最后登陆IP:140.121.136.117
最后登陆:2003/9/27 10:16:55
注册:2003/8/22 21:16:34
财富:118
发帖时间:2003/9/25 23:36:10
发贴者IP:61.58.86.198
标题:a872156:ucos中斷問題
摘要:No.42795ucos中斷問題 我從ucos的網站下載到johnxliu的port,後來在電腦上RUN的時候出現了問題(編譯都過了,只是模擬的螢幕不會出現如example跑出亂數的畫面),後來johnxliu寄給我一份新的版本,我RUN起來以後也都沒問題了,我用johnxliu的port也都可以去跑以些自己寫的TASK,但是後來當我寫到中斷的時候卻發生了問題。
我用timer1去跑時間中斷,但是我是用mode
2自動載入的方式,所以很快的就會再發生中斷,我在中斷函示中依書本的指示在進入和離開的時候加上兩個函示OSIntEnter();OSIntExit();
但是很快的程序就崩潰了,我指細的去研究後發現問題出在OSIntExit();裡面有這幾行,
#pragma ASM
 CLR EA
    MOV SP, SaveSP
#pragma ENDASM
其中MOV SP,
SaveSP的SaveSP是0所以去跟改的SP上的堆疊結果程序就崩潰了,後來我仿照johnxliuISRTICK的的程式去撰寫加上了
if(OSIntNesting==1)
 {
#pragma ASM
  PUSH IE
  CLR  EA
  MOV  SaveSP, SP
#pragma ENDASM
        OSTCBCur->  OSTCBStkPtr=C_XBP;


if(OSIntNesting==0)
 {
  EA=0;
        C_XBP=OSTCBCur->  OSTCBStkPtr;
#pragma ASM
  MOV  ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:357232毫秒 查询6次