菜单

硬件接口(IIC/I2C,PWM,TTS,网卡)

下载

介绍

主要是对硬件如背光、蜂鸣器、环境变量、网口、IO、条码打印机、声音播放等的操作,下面对于部分常用接口进行展示,剩下的接口可自行查看misc.h文件

音频处理

接口展示

c++ 复制代码
/**
 * 开启音频输出
 * @param filename:音频文件名
 * @param runtime:播放时间,单位秒(>0时为实际播放秒数;=0~完整播放1次; <0~循环播放)
 * @param volume:播放音量:(0-100)
 * @return 0:成功, 其它失败
 */
static int playWave(string filename,int runtime,int volume);
/**
 * 获取当前播放状态
 * @return //0-停止;1-播放;2-暂停;
 */
static int getSta();
/**
 * 暂停播放
 */
static void Pause();
/**
 * 恢复播放
 */
static void Resume();
/**
 * 获取音频总长度,单位s
 *
 * @return
 */
static int getDuration();
/**
 * 获取当前播放时间,单位s
 * @return
 */
static int getCurTime();
/**
 * 设置音频播放音量
 * @param volume:播放音量:(-60~30)
 */
static void setVolume(signed int volume);

使用方法

c++ 复制代码
// 将a.wav文件播放一次 音量设为50
WavePlayer::playWave("/customer/prm/images/a.wav", 0, 50);

背光操作

接口展示

c++ 复制代码
/**
 * 背光初始化
 * @return,0:初始化成功,-1:初始化失败
 */
static int setup();
/**
 * 关掉背光
 * @return 0:成功;-1:失败
 */
static int close();
/**
 * 设置背光亮度值
 * @param a (1-100)
 */
static void set(int a);
/**
 * 获取当前背光亮度
 * @return :1-100
 */
static int get(void);
/**
 * 调整背光亮度值(不保存)
 * @param a (1-100)
 */
static void change(int a);
/**
 * 设置熄屏参数
 *
 * @param t			延时时间(s),0-关闭熄屏功能
 * @param light		熄屏亮度值(1-100)
 */
static void setBackLightHoldingTime(int t = 0, int light=0);
/**
 * 获取熄屏参数
 * @param t			延时时间(s)
 * @param light		熄屏亮度值
 */
static void getBackLightHoldingTime(int& t, int& light);
/**
 * 设置屏保延时
 *
 * @param t			延时时间(s),0-关闭
 */
static void setScreenSaverHoldingTime(int t = 0);
/**
 * 获取屏保延时
 * @param t			延时时间(s)
 */
static void getScreenSaverHoldingTime(int& t);

使用方法

c++ 复制代码
// 设置屏保延时为30s
BackLight::setScreenSaverHoldingTime(30);

蜂鸣器

接口展示

c++ 复制代码
/**
 * 打开蜂鸣器
 * @return
 */
static int setup();
/**
 * 关闭蜂鸣器
 * @return
 */
static int close();
/**
 * 循环蜂鸣
 *
 * @period,周期,单位ms
 * @time,时间,单位ms
 * @return 0:成功;	-1:失败
 */
static int beeps(int period, int time);
/**
 * 蜂鸣一次
 * @param a:蜂鸣器响的时间(单位:ms)>=100ms
 */
static void beep(int a);
/**
 * 键盘蜂鸣控制
 * @param b   true/false
 */
static void enableIMEBeep(bool b);

使用方法

c++ 复制代码
// 蜂鸣器一次 设置响时间为200ms
Buzzer::beep(200);

GPIO

接口展示

c++ 复制代码
/**
 * 使能gpio
 * @gpio_num,gpio的标号,如gpio13的标号为13
 * @return,0:成功,-1:失败
 */
static int setup(uint8_t gpio_num);

/**
 * 禁能gpio
 * @gpio_num,gpio的标号,如gpio13的标号为13
 * @return,0:成功,-1:失败
 */
static int close(uint8_t gpio_num);

/**
 * 设置gpio的方向
 * @gpio_num,gpio的标号,如gpio13的标号为13
 * @pdirection,gpio的方向,输出为"out",输入为"in"
 * @return,0:成功,-1:失败
 */
static int setDirection(uint8_t gpio_num, const string& pdirection);

/**
 * 设置gpion的电平
 * @gpio_num,gpio的标号,如gpio13的标号为13
 * @value,gpio的电平,0为低电平,非0为高电平
 * @return,0:成功,-1:失败
 */
static int setValue(uint8_t gpio_num, int value);

/**
 * 获取gpion的电平
 * @gpio_num,gpio的标号,如gpio13的标号为13
 * @return,gpio的电平,0为低电平,1为高电平,-1:读取错误
 */
static int getValue(uint8_t gpio_num);

使用方法

c++ 复制代码
// 开启gpio并设置方向
GPIO::setup((uint8_t)48);
GPIO::setup((uint8_t)47);
GPIO::setup((uint8_t)90);
GPIO::setup((uint8_t)86);
GPIO::setup((uint8_t)14);
GPIO::setup((uint8_t)11);
GPIO::setup((uint8_t)1);
GPIO::setup((uint8_t)0);
GPIO::setDirection(48, "in");
GPIO::setDirection(47, "in");
GPIO::setDirection(90, "out");
GPIO::setDirection(86, "out");
GPIO::setDirection(14, "out");
GPIO::setDirection(11, "out");
GPIO::setDirection(1, "out");
GPIO::setDirection(0, "out");

详细介绍可以参考IO控制案例

网口操作

接口介绍

c++ 复制代码
/**
 * 开启网卡
 * @param eth	网卡名,例如“eth0"
 * @return 0:成功 其他:失败
 */
static int turnOn(const string& eth);
/**
 * 关闭网卡
 * @param eth	网卡名,例如“eth0"
 * @return 0:成功 其他:失败
 */
static int turnOff(const string& eth);
/**
 * 获取本机IP地址
 * @param eth	网卡名称,如“eth0"
 * @param ip	用来存放IP地址
 * @return: 0 : 成功 ;  -1 :  失败
 */
static int getLocalIP(const string& eth, string& ip);
/**
 * 设置本机IP
 * @param eth	网卡名称,如“eth0"
 * @param ip 	设置的IP地址,以点分十进制的字符串方式表示,如“192.168.0.5”
 * @return: 0 : 成功 ;  -1 :  失败
 */
static int setLocalIP(const string& eth, const string& ip);
/**
 * 设置本机mac地址
 * @param eth	网卡名称,如“eth0"
 * @param mac	mac地址,如"00:30:1B:BA:02:DB"
 * @return: 0 : 成功 ;  -1 :  失败
 */
static int setLocalMac(const string& eth, const string& mac);
/**
 * 获取本机mac地址
 * @param eth	网卡名称,如“eth0"
 * @param mac	用来存放mac地址
 * @return: 0 : 成功 ;  -1 :  失败
 */
static int getLocalMac(const string& eth, string& mac);
/**
 * @LEVEL0
 * @brief  设置本机掩码地址
 * @param eth		网卡名称,如"eth0"
 * @param szNetMask	存放掩码地址
 * @return	0 : 成功 ;  -1 :  失败
 */
static int setLocalNetmask(const string& eth, const string& szNetMask);
/**
 * @LEVEL0
 * @brief  获取本机掩码地址
 * @param eth		网卡名称,如"eth0"
 * @param szNetMask	存放掩码地址
 * @return	0 : 成功 ;  -1 :  失败
 */
static int getLocalNetmask(const string& eth, string& szNetMask);
/**
 * @LEVEL0
 * @brief  设置本机广播地址
 * @param eth		网卡名称,如"eth0"
 * @param broadcast	广播地址,如“192.168.1.255”
 * @return	0 : 成功 ;  -1 :  失败
 */
static int setLocalBroadcast(const string& eth, const string& broadcast);
/**
 * @LEVEL0
 * @brief  获取本机广播地址
 * @param eth		网卡名称,如"eth0"
 * @param broadcast	用来存放broadcast地址
 * @return	0 : 成功 ;  -1 :  失败
 */
static int getLocalBroadcast(const string& eth, string& broadcast);
/**
 * @LEVEL0
 * @brief  设置本机网关
 * @param eth		网卡名称,如"eth0"
 * @param GateWay	网关地址,如“192.168.1.1”
 * @return
 */
static int setLocalGateway(const string& eth, const string& GateWay);
/**
 * @LEVEL0
 * @brief 获取本机网关地址
 * @param eth		网卡名称,如"eth0"
 * @param GateWay	用来存放网关地址
 * @return
 */
static int getLocalGateway(const string& eth, string& GateWay);
/**
 * @LEVEL0
 * @brief 获取开启的网卡
 * @return	返回开启的网络卡列表
 */
static vector<string> getUpEthInfo();
/**
 * @LEVEL0
 * @brief 查询网卡是否开启
 * @param eth
 * @return 0:未开启;1:开启;<0:查询失败;
 */
static int isUp(const string& eth);
/**
 * @LEVEL0
 * @brief 自动分配ip地址
 * @param eth  网卡名,如"eht0"或"wlan0"
 */
static void callDHCP(const string& eth);

使用方法

c++ 复制代码
EthInf::setLocalIP("eth0","192.168.1.15")
最近修改: 2025-01-10Powered by