#include "stm8s208r8.h"
_Bool led1 @PB_ODR:0;
_Bool led2 @PB_ODR:1;
_Bool led3 @PB_ODR:2;
void GPIO_Init (void)
{
PB_DDR =0xff; //PB设为推挽输出
PB_CR1 =0xff;
PB_CR2 =0x00;
PB_ODR =0xff;
//PC_DDR =0x00; //PC 带中断上拉输入
//PC_CR1 =0xff;
//PC_CR2 =0xff;
}
main()
{
GPIO_Init ();
led1 =0; // led1亮
_asm("sim");
led2 =0; // led2亮
_asm("rim"); //开全局中断
led3 =0; // led3亮
while (1);
}
如果PC口设置为带中断方式输入(上面PC程序段注释去掉)(没有中断函数),led1,led2点亮;但开全局中断后,led3不能点亮。请问是为什么?若没有设置其他口为带中断输入,开全局中断,led1,led2,led3都能点亮。
|