本人用的是stm8s103f3,编译器是ira。程序如下: #include main (void) { PC_DDR = 0x80; //设置PC7为输出模式 PC_CR1 = 0x80; //设置PC7为推挽输出 PC_CR2 = 0x0; //设置PC7输出速度最大为2MH PC_ODR = 0x0; while (1) { } 高电平输出灯应该亮的,但是发觉芯片几乎所有的引脚都输出高电平,我给PC_ODR赋值为0,在编译器中看到寄存器内容和程序赋值的一样,可是送到板子上就是不行了,一直都是高电平。求大家帮忙看看程序错在哪里了。在此感激不尽。 |
RE:stm8简单的点亮led程序,一直不成功,求助各位
{
PC_ODR |=0X80;
delay();
PC_ODR &=~0X80;
delay();
}
你弄明白了?
void main ()
{
PC_DDR = 0x80;
PC_CR1 = 0x80;
PC_CR2 = 0x00; //PC口推挽输出
PC_ODR = 0x00;//PC口输出低电平
while (1);
}
楼主说“高电平应该是点亮的”为什么你们程序里都写PC_ODR =0X00; 啊?建议楼主不要直接赋值,把这句换成“PC_ODR |=0X80;”