菜鸟芯片 发表于 2016-3-28 21:48:04

怎么配置GPIO呢?

本帖最后由 菜鸟芯片 于 2016-8-1 03:38 编辑

/* MAIN.C file
*
* Copyright (c) 2002-2005 STMicroelectronics
*/


#include "STM8S003F3.h"
#define uchar unsigned char
#define uint unsigned int
#define _Nop()   {_asm("nop\n");_asm("nop\n");_asm("nop\n");_asm("nop\n");_asm("nop\n");_asm("nop\n");}    /* No Operation */



//VIN=0.0048828125*AD

#define   UX    614                        
#define   IX    614                        
#define   PX    2500               



_Bool RLED    @PC_ODR:5;   
_Bool GLED    @PC_ODR:6;   

_Bool YLED    @PD_ODR:4;   //模式指示灯
_Bool BLED    @PD_ODR:5;//模式指示灯

_Bool KEY1    @PB_IDR:4;//模式按键
_Bool KEY2    @PB_IDR:5;//启动停止按键


uchar ms;
uchar      key_flag;
uchar      key1_flag,key2_flag;
uchar      eeprom_flag;
uchar mode,old_mode;
uint      delay_ms;

//EEPROM初始化
void eeprom_init(void)
{
FLASH_CR1=0x00;
FLASH_CR2=0x00;
FLASH_NCR2=0xFF;
FLASH_DUKR=0xae;//锁1密匙
FLASH_DUKR=0x56;//锁2密匙
while(!(FLASH_IAPSR&0x08)); //等待解密就绪
}

//EEPROM指定地址写入一个数据
void eeprom_write(unsigned charaddr, unsigned chardat)
{
unsigned char*p;
p=(unsigned char*)(0x4000+addr);
*p=dat;
while(!(FLASH_IAPSR&0x04)); //等待写操作成功
}

//EEPROM指定地址读出一个数据
uint eeprom_read( unsigned charaddr)
{
unsigned char *p;
p=( unsigned char*)(0x4000+addr);
return *p;
}



//delay ms 延时函数
void DelayMS(uchar iMs)
{
      ms=0;
      while(ms<iMs);

}
页: [1] 2
查看完整版本: 怎么配置GPIO呢?