3540|16

3404

帖子

6

TA的资源

裸片初长成(初级)

楼主
 

STM8S003中断问题求助 [复制链接]

 

由于工作需求,需要改别人的一段代码。用STM8做的一个东西,有源码。以前的程序存在一个bug,经过初步定位到下面的函数中,即CC2500的中断管脚的初始化部分。
在下面的代码中,如果方框里的代码存在,则会经常导致CPU复位。有人知道是啥原因不?


此帖出自stm32/stm8论坛

最新回复

这个涨这么厉害还在用?  详情 回复 发表于 2018-8-3 17:38
点赞 关注
 

回复
举报

3238

帖子

5

TA的资源

五彩晶圆(中级)

沙发
 
则会经常导致CPU复位?这个是导致stm8复位还是cc2500复位呢?可以描述清晰点嘛?看代码看不出问题
此帖出自stm32/stm8论坛

点评

导致CPU复位。 我也看不出啥问题。也许问题不在这里,但是在这一句屏蔽了,就不复位了。  详情 回复 发表于 2018-4-19 11:01
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

板凳
 
wateras1 发表于 2018-4-18 20:38
则会经常导致CPU复位?这个是导致stm8复位还是cc2500复位呢?可以描述清晰点嘛?看代码看不出问题

导致CPU复位。
我也看不出啥问题。也许问题不在这里,但是在这一句屏蔽了,就不复位了。
此帖出自stm32/stm8论坛

点评

我还是不知道是导致那个芯片复位?这样看感觉不会那么容易导致复位  详情 回复 发表于 2018-4-19 11:11
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

4
 
jishuaihu 发表于 2018-4-19 11:01
导致CPU复位。
我也看不出啥问题。也许问题不在这里,但是在这一句屏蔽了,就不复位了。

我还是不知道是导致那个芯片复位?这样看感觉不会那么容易导致复位
此帖出自stm32/stm8论坛

点评

STM8复位。不好意思。没有说清楚  详情 回复 发表于 2018-4-20 10:42
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

5
 
wateras1 发表于 2018-4-19 11:11
我还是不知道是导致那个芯片复位?这样看感觉不会那么容易导致复位

STM8复位。不好意思。没有说清楚
此帖出自stm32/stm8论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 
看这个有点像IO的一些操作,如果有这个片子的资料,看看这个寄存器的说明,就知道你的这条语句在干啥了
此帖出自stm32/stm8论坛
 
 
 

回复

43

帖子

3

TA的资源

一粒金砂(中级)

7
 
这个芯片涨的很凶哦。
此帖出自stm32/stm8论坛

点评

不是我选的。半路接手的东西  详情 回复 发表于 2018-4-20 20:02
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

8
 
LED0809017 发表于 2018-4-20 18:04
这个芯片涨的很凶哦。

不是我选的。半路接手的东西
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

9
 
看看中断服务函数部分?
此帖出自stm32/stm8论坛

点评

测试的时候还没有运行到中断服务程序 平时使用的时候没有这个问题,程序能正常运行。我想改改他的程序。在调试的时候出现的。  详情 回复 发表于 2018-4-23 17:08
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

10
 
小S咯 发表于 2018-4-23 08:20
看看中断服务函数部分?

  1. #pragma vector=6
  2. __interrupt void EXTI_PORTB_IRQHandler(void)
  3. {
  4.     //uint16_t check_crc16 = 0,check_crc16_1= 0;
  5.   CLI();
  6.     Keyexti_Sensitivity_Type=EXTI_GetExtIntSensitivity(EXTI_PORT_GPIOB);
  7.     switch (Keyexti_Sensitivity_Type)
  8.     {
  9.         case EXTI_SENSITIVITY_FALL_LOW :
  10.             {

  11.             }break;      
  12.         case EXTI_SENSITIVITY_RISE_ONLY :
  13.             {

  14.             }break;
  15.         case EXTI_SENSITIVITY_FALL_ONLY :
  16.             {
  17.                 if((BitStatus)(PB_IDR&0x20)==0)
  18.                 {
  19.                    if (Get_RF_MODE() == MODE_TX)
  20.                    {
  21.                         
  22.                    }
  23.                    else if (Get_RF_MODE() == MODE_RX)
  24.                    {
  25.                         if(halRfReceivePacket(CC2500_RxBuf)>2)
  26.                         {
  27.                           CC2500_Rx_Flag = 1;
  28.                         
  29.                         }
  30.                    }
  31.                 }  
  32.             }break;
  33.         case EXTI_SENSITIVITY_RISE_FALL :
  34.             {

  35.             }break;
  36.         default:
  37.             break;
  38.     }
  39.     SEI();
  40.     setRxMode();
  41. }
复制代码


测试的时候还没有运行到中断服务程序

平时使用的时候没有这个问题,程序能正常运行。我想改改他的程序。在调试的时候出现的。
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

11
 
jishuaihu 发表于 2018-4-23 17:08
测试的时候还没有运行到中断服务程序

平时使用的时候没有这个问题,程序能正常运行。我想改改他的 ...

CC2500是无线模块,为啥你写的像按键函数??
此帖出自stm32/stm8论坛

点评

CC2500收到数据后有一个中断,根据中断信号来读CC2500  详情 回复 发表于 2018-4-25 09:11
 
 
 

回复

4008

帖子

0

TA的资源

版主

12
 
中断标准没清除
此帖出自stm32/stm8论坛

点评

他的代码一直这么用的,一共用了两个外部中断,都没有清除中断标志。定时器中断里面清除了。 我加上试试 谢谢  详情 回复 发表于 2018-4-25 09:15
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

13
 
小S咯 发表于 2018-4-24 09:52
CC2500是无线模块,为啥你写的像按键函数??

CC2500收到数据后有一个中断,根据中断信号来读CC2500
此帖出自stm32/stm8论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

14
 
huo_hu 发表于 2018-4-24 10:48
中断标准没清除

他的代码一直这么用的,一共用了两个外部中断,都没有清除中断标志。定时器中断里面清除了。
我加上试试
谢谢
此帖出自stm32/stm8论坛
 
 
 

回复

43

帖子

3

TA的资源

一粒金砂(中级)

15
 
jishuaihu 发表于 2018-4-20 20:02
不是我选的。半路接手的东西

可以的,
此帖出自stm32/stm8论坛
 
 
 

回复

43

帖子

3

TA的资源

一粒金砂(中级)

16
 
jishuaihu 发表于 2018-4-20 20:02
不是我选的。半路接手的东西

现在降了,可以用,
此帖出自stm32/stm8论坛
 
 
 

回复

43

帖子

3

TA的资源

一粒金砂(中级)

17
 
这个涨这么厉害还在用?
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表