打印
[STM8]

stm8的PD引脚异常问题

[复制链接]
2765|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
伐多2011|  楼主 | 2012-10-7 17:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先上个代码
#include "stm8s_conf.h"

int main( void )
{
CLK->CKDIVR &=~((1<<4)|(1<<3));//配置时钟为内部RC,16M

sim();//关总中断

GPIOD->DDR |=(1<<2);//PD2为输出
GPIOD->CR1 |=(1<<2);//推挽
GPIOD->CR2 |=(1<<2);//输出速率为10M


GPIOA->DDR |=(1<<3);//PA3为输出
GPIOA->CR1 |=(1<<3);//推挽
GPIOA->CR2 |=(1<<3);//输出速率为10M
GPIOA->ODR |=(1<<3);//PA3为高

rim();//开总中断

GPIOD->DDR &=~(1<<2);//PD2为输入
GPIOD->CR1 |=(1<<2);//上啦
GPIOD->CR2 &=~(1<<2);//引脚中断失能

GPIOA->ODR &=~(1<<3);//PA3为低

while(1)
{
}

}
我用的是stm8f3p6的芯片,发现开中断后不能运行后面的代码,我是用LED检测的,LED(PA3低电平亮)灯不亮。当我注释掉开总中断的时候,LED亮了。继续开中断并注释掉GPIOD->CR2 |=(1<<2);//输出速率为10M,这段代码后LED亮了,此时GPIOD的输出速率为2M。我接着又测试了一下,继续开中断,但将CLK->CKDIVR &=~((1<<4)|(1<<3));//配置时钟为内部RC,16M,这段代码注释掉后,LED也亮了,此时单片机时钟应该是RC,2M。我还在stm8105k6芯片做一样的测试,结果都是一样。奇怪的很
沙发
伐多2011|  楼主 | 2012-10-8 11:13 | 只看该作者
自己顶

使用特权

评论回复
板凳
lvjing880907| | 2012-10-8 13:19 | 只看该作者
没有人回答吗!

使用特权

评论回复
地板
伐多2011|  楼主 | 2012-10-8 16:02 | 只看该作者
我继续顶

使用特权

评论回复
5
耶稣欠筹了| | 2012-10-8 20:09 | 只看该作者
母**,顶下贴!

使用特权

评论回复
6
伐多2011|  楼主 | 2012-10-9 19:47 | 只看该作者
求解救啊:'(

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

64

帖子

6

粉丝