本文介绍说明一些预定义的常量及C的类型及通用函数,这些常量全局有效,以及一些IO口操作函数
0.常量及宏
这些常量用于端口的操作,仅作为pinMode中的第二个参数使用
常量名 | 作用 |
INPUT | 用于pinMode函数,将一个端口设置为输入,禁用上拉电阻 |
OUTPUT | 输出,作用于一个端口 |
INPUT_PULLUP | 将一个端口设置为输入,启用上拉电阻 |
INPUT_ALL | 将一组端口设置为输入,全部启用上拉电阻 |
OUTPUT_ALL | 将一组端口设置为输出 |
请特别注意使用这些常量的作用范围,如果不正确的使用将会导致程序死锁,详细请见pinMode函数
这些常量用于定义IO端口,作为pinMode函数的第一个参数使用
一组引脚
ZPA、ZPB、ZPC、ZPD,这些常量对应PA,PB,PC及PD的8个端口
单个引脚
ZPA0-7、ZPB0-7、ZPC0-7、ZPD0-7 ,这些常量用于操作单个引脚
一组引脚
ZPA、ZPB、ZPC、ZPD,这些常量对应PA,PB,PC及PD的8个端口
单个引脚
ZPA0-7、ZPB0-7、ZPC0-7、ZPD0-7 ,这些常量用于操作单个引脚
数学常量的定义
- PI
- HALF_PI
- TWO_PI
- DEG_TO_RAD
- RAD_TO_DEG
- EULER
位操作宏,value 支持所有变量类型,bit从0开始计数
宏名 | 作用 |
bitRead(value,bit) | 读取value的第bit位,返回0或1 |
bitRead(value,bit) | 将value的第bit位置1 |
bitClear(value,bit) | 将value的第bit位置0 |
bitWrite(value,bit,bitvalue) | 将value的bit位设置成bitvalue,bitvalue仅能为0或1 |
bitToggle(value,bit) | 将value的bit位翻转 |
单片机特殊指令宏
宏名 | 作用 |
_NOP() | 执行一个nop指令,可以放在任何位置 |
EINT | 开启全局中断,必须独立成行 |
DINT | 关闭全局中断,必须独立成行 |
1.函数
这里的函数指用C语言实现的函数,而不是预处理宏
函数名 | 作用 |
pinMode(uchar pin,uchar value) | 设置引脚输出模式,pin为引脚编号,当引脚是单个引脚,value只允许设置INPUT,OUTPUT和INPUT_PULLUP,设置错误将导致程序锁定。当引脚编号为组的时候则可以设置成INPUT_ALL,OUTPUT_ALL,或者一个字节,与寄存器DDRx直接赋值相同 |
digitalWrite(uchar pin,uchar value) | 设置数字引脚的值,pin为引脚编号,当引脚是单个引脚,value值仅为HIGH或者LOW,对应高电平与低电平,请确认设置引脚输出之前确认将引脚的模式设置为输出。当引脚编号为组的时候则可以设置成HIGH_ALL,LOW_ALL,或者一个字节,与寄存器直接赋值PORTx相同 |
uchar digitalRead(uchar pin) | 读取引脚的值,pin为引脚编号,当引脚是单个引脚,返回LOW或者HIGH,当pin为组的时候返回一个字节,相当于访问PINx |
digitalToggle(uchar pin) | 翻转数字引脚的值,pin为引脚编号,当引脚是单个引脚,单个引脚的输出电平将会发生翻转,如果是一个组则一个组所有端口都会翻转 |
delay_ms(Uint16 t) | 非精确的延时函数 |
2.类型定义
类型名 | 原型 |
uchar | unsigned char |
Uint16 | unsigned short |
Uint32 | unsigned long |
int32 | signed long |
int16 | signed short |
float32 | float |