OpenEdv-开源电子网

 找回密码
 立即注册
正点原子新作:阿波罗STM32F429&探索者STM32F4开发板&飞音1(FY1) HiFi USB声卡面市啦,赶快来下载资料哦。

查看: 108|回复: 10

STM8L外部中断后,不能正确的读取出该引脚的电平

[复制链接]

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
发表于 2016-12-12 14:33:20 | 显示全部楼层 |阅读模式
4金钱
我向端口D的第4引脚发送频率为125K的PWM,通过触发第4引脚的外部中断,然后用一个数组记录触发后的电平和间隔时间,接收到的电平应该是0101010101...没想到接收到的电平是011011011011....
这是接收PWM的代码


============================
#include <STM8L152C6.h>
_Bool brkPin @PD_IDR:4;
unsigned char jumpSeq;
unsigned char brkEdge[32];
unsigned int imcstData[32];

void initTIM2(void)
{
        CLK_PCKENR1 |= 0x01;
       
        TIM2_CR1 = 0x00;
        TIM2_PSCR = 0x00;
        TIM2_ARRH = 0xff;
        TIM2_ARRL = 0xff;
        TIM2_IER |= 0x01;
}

main()
{
        //系统时钟二分频
        CLK_CKDIVR = 0x01;
        //位4设置双沿中断
        EXTI_CR2 = 0x03;
       
        //PD4配置为中断
        PD_DDR &= 0xef;
        PD_CR1 &= 0xef;
        PD_CR2 |= 0x10;
       
        jumpSeq = 0;
        initTIM2();
        _asm("rim");
       
        while (1);
}

@far @interrupt void brkRec(void)
{
        unsigned char recbit;
        recbit = brkPin;
       
        //清除标志位
        EXTI_SR1 = 0xff;
        EXTI_SR2 = 0xff;
        TIM2_CR1 = 0x00;
       
        imcstData[jumpSeq] = TIM2_CNTRH;
        imcstData[jumpSeq]= (imcstData[jumpSeq]<<8) + TIM2_CNTRL;
        brkEdge[jumpSeq] = recbit;
        TIM2_CNTRH = 0x00;
        TIM2_CNTRL = 0x00;
       
        jumpSeq++;
        if(jumpSeq==32)
                jumpSeq = 0;

        TIM2_CR1 = 0x01;
}
@far @interrupt void TIM2Over(void)
{
        TIM2_SR1 = 0x00;
        TIM2_CR1 = 0x00;
        TIM2_CNTRH = 0x00;
        TIM2_CNTRL = 0x00;
        jumpSeq = 0;
}


这个问题困扰好久了,有没有人来拯救我???
刚开始学,我使用的是STM8L152C6,金钱不多,还请多多帮忙啊!!!

回复

使用道具 举报

  在线 

430

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
98245
金钱
98245
注册时间
2010-12-1
在线时间
499 小时
发表于 2016-12-12 18:20:18 | 显示全部楼层
帮顶
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-13 08:55:04 | 显示全部楼层
自己也顶一下,我顶顶顶!!!
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-13 10:48:25 | 显示全部楼层
大神们,进来逛逛啊
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-14 08:44:08 | 显示全部楼层
我再顶!!!
回复

使用道具 举报

  离线 

38

主题

587

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1393
金钱
1393
注册时间
2011-9-3
在线时间
46 小时
发表于 2016-12-14 10:42:20 | 显示全部楼层
帮顶。
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-14 15:48:06 | 显示全部楼层
我还顶
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-19 16:02:15 | 显示全部楼层
顶顶!!!
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 2016-12-26 09:19:19 | 显示全部楼层
。。。。。。我去,还没人吗
回复

使用道具 举报

  在线 

430

主题

8万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
98245
金钱
98245
注册时间
2010-12-1
在线时间
499 小时
发表于 2016-12-27 22:32:58 | 显示全部楼层
帮顶
回复

使用道具 举报

  离线 

1

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
28
金钱
28
注册时间
2016-12-12
在线时间
3 小时
 楼主| 发表于 4 天前 | 显示全部楼层
。。。。。。。。。。。为什么呢
回复

使用道具 举报


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

本版积分规则


QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-1-16 18:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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