丁丁

STM8 IAR平台使用小记 四 GPIO操作不用库

0
阅读(4116)

昨天说了CLK,那么今天来说一下GPIO操作吧。GPIO的操作也是比较简单的,和MSP430差不多,也有很多歌寄存器需要设置。ODR 是输出数据寄存器,DDR是方向寄存器,IDR是输入寄存器,如果是输入口的话,就是从IDR里来读取就可以啦。CR1和CR2配合来实现对输出类型的设置,如推挽,上拉,速率等得设置。

这里我就以一个LED输出来说说吧。由于

默认上电是悬空输入,所以我就把LED做成下拉的,使用的是PA4,具有HS(大电流)功能。

宏定义

#define Led_on() PA_ODR |= 0X40;

#define Led_off() PA_ODR &= ~0X40;

 

LED端口的初始化

void Led_init()

{

    PA_ODR &= ~0X40; 

    PA_DDR |= 0x40;

    PA_CR1 |= 0X40;

    PA_CR2 &= ~0X40;  

}

 

Void main()

{

Clk_init();

Led_init();

While(1)
{

Led_on();

Delay();

Led_off();

Delay();

}

 

}