木头子 发表于 2014-2-12 16:31:42

stm8简单的点亮led程序,一直不成功,求助各位

本人用的是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,在编译器中看到寄存器内容和程序赋值的一样,可是送到板子上就是不行了,一直都是高电平。求大家帮忙看看程序错在哪里了。在此感激不尽。

发表于 2014-2-13 11:37:49

RE:stm8简单的点亮led程序,一直不成功,求助各位

高到低之间加个延时,速度太快你根本看不到.

shuimulingchen 发表于 2015-1-20 23:55:30

我也有相同的疑问,楼主要是弄明白了麻烦告诉我一下,谢谢。

s7631001 发表于 2015-1-21 00:24:51

太爽了,谢谢楼主!

wenyangzeng 发表于 2015-1-22 07:45:47

在循环中:

PC_ODR |=0X80;
delay();
PC_ODR &=~0X80;
delay();

dsjsjf 发表于 2015-1-22 08:46:48

一直都用库函数的,没用过直接操作寄存器。。。不过,楼主相关外设使能了没?

shuimulingchen 发表于 2015-1-22 22:01:38

s7631001 发表于 2015-1-21 00:24
太爽了,谢谢楼主!

你弄明白了?

拼命三郎 发表于 2015-1-24 10:36:40

星辰一方 发表于 2015-1-24 12:25:39

楼主你这没有延时啊,而且ODR寄存器也没有给高电平呀,你怎么点亮?

星辰一方 发表于 2015-1-24 12:26:49

不能以测量电压为准,你输出模式对照下是否是推挽输出,
页: [1] 2
查看完整版本: stm8简单的点亮led程序,一直不成功,求助各位