怎么配置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