自带的两个函数:
1.初始化操作函数,在这个函数里做初始化操作
void setup(){
}
2.loop函数是循环执行的函数
void loop(){
}
一、指定引脚的模式函数
void pinMode(uint8_t pin,uint8_t mode)
//常见的一些模式,Arduino库中已经定义可以直接用
#define INPUT 0x01 //输入模式
#define OUTPUT 0x03 //输出模式
#define PULLUP 0x04 //上拉
#define INPUT_PULLUP 0x05 //输入上拉
#define PULLDOWN 0x08 //下拉
#define INPUT_PULLDOWN 0x09 //输入下拉
#define OPEN_DRAIN 0x10 //开漏
#define OUTPUT_OPEN_DRAIN 0x13 //输出开漏
#define ANALOG 0xc0 //模拟
//引脚1设置为输出模式
pinMode(1,OUTPUT);
二、指定引脚的状态(高低电平等)函数
void digitalWrite(uint8_t pin,uint8_t val)
//如设置引脚3输出高电平
digitalWrite(3,HIGH)
三、延时函数
void delay(uint32_t ms)//毫秒级
void delayMicroseconds(unsigned int microseconds)//微秒级延时
四、读取引脚电平函数
int digitalRead(int pin)//返回值是引脚的高低电平
五、中断函数
void attachInterrupt(uint8_t interruptPin,void (*userFunction)(void),uint8_t mode)
/*
中断函数
第一个参数是中断号
第二个参数是函数指针,指向对应的中断服务函数
第三个参数是触发中断的方式,如下
LOW (ONLOW) : 当引脚变为低电平时触发中断。
HIGH (ONHIGH) : 当引脚变为高电平时触发中断。
CHANGE: 当引脚状态发生变化时触发中断。
FALLING: 当引脚从高电平变为低电平时触发中断。
RISING: 当引脚从低电平变为高电平时触发中断
*/
void digitalPinToInterrupt(uint8_t Pin)//设置引脚与中断号对应的函数,参数引脚号,返回值中断号
void detachInterrupt(uint8_t interruptPin)//用于设置取消引脚的中断服务程序
六、定时器函数
/*定时器配置步骤:
选择定时器(两组四个)0~3
配置合适分频系数
绑定中断函数
配置报警计数器保护值
开启报警*/
hw_timer_t * timerBegin(uint8_t num,uint16_t divider,bool countUp)//定时器初始化开启函数
//第一个参数定时器号,第二个参数开发板分频系数,第三个参数定时器向不向上计数
//使用方式
hw_timer_t * timel=NULL;
timel=timerBegin(0,80,true)//定时器0,分频系数80,定时器向上计数
void timerEnd(hw_timer_t *timer)//关闭定时器函数
void timerAttachInterrupt(hw_timer_t * timer,void (fn)(void),bool edge)//开启定时器中断
//第一个参数目标定时器,第二个参数中断函数的入口地址,第三个是否设置边缘触发
void timerDetachInterrupt(hw_timer_t * timer)//关闭定时器中断
void timerAlarmWrite(hw_timer_t * timer,uint64_t alarm_value,bool autoreload)//设置定时器的计数值
//第一个参数目标定时器,第二个参数初始计数值,第三个是否设置自动装载
void timerAlarmEnable(hw_timer_t * timer)//使能定时器中断报警
void timerAlarmDisable(hw_timer_t * timer)//不使能定时器中断报警
bool timerAlarmEnabled(hw_timer_t * timer)//判断定时器是否启动