初级会员
- 积分
- 50
- 金钱
- 50
- 注册时间
- 2016-11-18
- 在线时间
- 16 小时
|
楼主 |
发表于 2017-3-21 10:02:57
|
显示全部楼层
#include "iostm8s003f3.h"
#include "generalfunction.h"
#include "main.h"
#define EXTI2_PB_IRQ 6
void CLK_Init3();
#pragma vector=EXTI2_PB_IRQ
__interrupt void EXTI2_PB_IRQHandler(void)
{
if((PB_ODR &0X20)==0X20)
PA_ODR_ODR3=~PA_ODR_ODR3;
}
void main(void)
{
asm("sim");// 關閉中斷
CLK_Init3();
GPIO_Init();
EXTI_Init();
PA_ODR_ODR3=1;
while(1)
{
}
}
void CLK_Init3() //可以在這個模式下進行HSI-HSI
{
CLK_SWR =0XE1;
CLK_SWCR |=0X02;
while((CLK_SWCR &0X01)==0X01); //等待切換完成
CLK_CKDIVR=0X00;
CLK_CCOR |=0X09;
CLK_SWCR&=(0xFD); //??切?
PC_DDR |=0X10; //CCO輸出
PC_CR1 |=0X10;
PC_CR2 |=0X10;
}
void GPIO_Init()
{
PA_DDR |=0X08;
PA_CR1 |=0X08; //
}
void EXTI_Init()
{
PB_DDR &=0xdf; //PB5中斷
PB_CR1 |=0x20;
PB_CR2 |=0x20;
EXTI_CR1&=0xf3;
EXTI_CR1|=0x08;
asm("rim");// 開啟中斷
}
這是部分程序,後面加了time4定時中斷也卡死在 asm("rim");// 開啟中斷 |
|