本身很菜啊,求STM么配置GPIO呢?

2019-07-15 14:37发布

#include "STM8S003F3.h"
#define uchar unsigned char
#define uint unsigned int
#define _Nop()   {_asm("nop ");_asm("nop ");_asm("nop ");_asm("nop ");_asm("nop ");_asm("nop ");}    /* 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 char  addr, unsigned char  dat)
{
  unsigned char  *p;
  p=(unsigned char  *)(0x4000+addr);
  *p=dat;
  while(!(FLASH_IAPSR&0x04)); //等待写操作成功
}

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

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

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
michael_llh
1楼-- · 2019-07-15 20:07
直接用库函数比较简单,可以参考原子和秉火的stm32教程
871881392
2楼-- · 2019-07-15 21:51
michael_llh 发表于 2016-3-29 13:42
直接用库函数比较简单,可以参考原子和秉火的stm32教程

STM8S 单片机哦...函数库?
michael_llh
3楼-- · 2019-07-15 22:05
这不是有???
http://www.stmcu.org/document/list/index/category-543

QQ图片20160329152955.png

一周热门 更多>