遵义做网站哪个公司最好,沈阳企业网站开发,精美化妆品网站模板,廊坊公司快速建站基于ARM语音识别的智能家居系统
我们上一篇#xff0c;我们实现在Linux系统下编译程序#xff0c;我们首先通过两个小练习来熟悉一下如何去编译。今天#xff0c;我们来介绍一下LCD屏幕基本使用。
一、LCD屏幕基本使用 如何使用LCD屏幕#xff1f; 1、打开开发板LCD设…基于ARM语音识别的智能家居系统
我们上一篇我们实现在Linux系统下编译程序我们首先通过两个小练习来熟悉一下如何去编译。今天我们来介绍一下LCD屏幕基本使用。
一、LCD屏幕基本使用 如何使用LCD屏幕 1、打开开发板LCD设备驱动文件。 (/dev/fb0) 2、准备颜色数据。 3、写入颜色像素点数据。 4、关闭设备文件。 示例代码
#include stdio.h
#include sys/types.h //open()
#include sys/stat.h
#include fcntl.h
#include unistd.h //write()int main()
{//1、打开开发板LCD设备驱动文件。 (/dev/fb0)int lcd_fd open(/dev/fb0, O_RDWR);if(lcd_fd -1){perror(open lcd_fd failed!); //通过错误码打印错误信息return -1; //程序非正常结束}//2、准备颜色数据。int buf[1024*600] {0}; //像素数据缓冲区// A R G B : 0 255 0 0 ----- 0x00FF0000;int R 0x00FF0000;int i;for(i 0; i1024*600; i){buf[i] R;}//3、写入颜色像素点数据。int w_size write(lcd_fd, buf, 1024*600*4);//4、关闭设备文件。close(lcd_fd);return 0;
}
二、开发板运行程序
1、在Ubuntu平台上使用交叉编译器arm-linux-gcc 编译程序。 2、下载程序到开发板。 3、给予权限运行程序。 三、界面显示bmp图片
bmpBMP是英文Bitmap位图的简写它是Windows操作系统中的标准图像文件格式。
它是用位映射存储的方式的图片格式图像数据中的RGB数据直接可以使用。
1、图片准备 2、显示bmp图片
1、打开开发板LCD设备驱动文件。 (/dev/fb0)
2、打开bmp图片文件。
3、读取bmp图片像素颜色数据。
4、写入颜色像素点数据到LCD。
5、关闭设备关闭文件。 头文件 #include unistd.h
函数原型ssize_t read(int fd, void *buf, size_t count);从文件描述符fd指代的文件中读取count字节数据存入buf指向缓冲区中。
参数列表int fd:读取的目标文件的文件描述符。void *buf存储读到的数据的内存缓冲区。size_t count要读取的字节数。
返回值成功 成功读取的字节个数。失败 -1并且errno被设置。 示例代码
#include stdio.h
#include sys/types.h //open()
#include sys/stat.h
#include fcntl.h
#include unistd.h //write()int showBmp(char *bmp_path)
{//1、打开开发板LCD设备驱动文件。 (/dev/fb0)int lcd_fd open(/dev/fb0, O_RDWR);if(lcd_fd -1){perror(open lcd failed!); //通过错误码打印错误信息return -1; //程序非正常结束}//2、打开bmp图片文件。int bmp_fd open(bmp_path, O_RDWR);if(bmp_fd -1){perror(open bmp failed!); //通过错误码打印错误信息return -1; //程序非正常结束}//3、读取bmp图片像素颜色数据。//文件偏移量光标从文件开始位置偏移54字节去除无效数据。char buf[54] {0};read(bmp_fd, buf, 54);char bmp_buf[1024*600*3] {0};read(bmp_fd, bmp_buf, 1024*600*3);//3.1数据处理//将3字节的bgr 的bmp图像像素点数据处理为 lcd 屏幕所需要的 argb像素数据int lcd_buf[1024*600] {0}; //lcd 像素数据缓冲区int i, j 0;for(i 0; i1024*600; i, j3){// ARGB b g r alcd_buf[i] bmp_buf[0j]0 | bmp_buf[1j]8 | bmp_buf[2j]16 | 0x0024;}//3.2 图片上下翻转int show_buf[1024*600] {0}; //lcd 像素数据缓冲区int x, y;for(y 0; y600; y){for(x 0; x1024; x){show_buf[y*1024x] lcd_buf[(599-y)*1024x];}}//4、写入颜色像素点数据到LCD。write(lcd_fd, show_buf, 1024*600*4);//5、关闭设备,关闭文件。close(lcd_fd);close(bmp_fd);return 0;
}int main()
{showBmp(./1.bmp);return 0;
}
四、音视频播放
mplayer 是一款开源的多媒体播放器可以用来播放音视频mplayer 自带多种格式的解码器不需要我们再另外安装。开发板并未安装配置mplayer需要自行移植。
直接移植我提供的mplayer 文件使用说明
alsa-lib--lib.tar.gz
此为alsa-lib的编译结果 lib库文件压缩包先把该文件拷贝到开发板。
tftp下载命令为 tftp 192.168.1.100 -gr alsa-lib--lib.tar.gz 解压并将此目录下的所有库文件拷贝到开发板的/usr/lib 目录下。
解压命令为 tar -zxvf alsa-lib--lib.tar.gz
进入解压目录 cd lib/
拷贝到/usr/lib目录下 cp ./* /usr/lib -r arm-alsa.tar.gz 此为alsa-lib编译出的配置文件压缩包把该文件拷贝到开发板。
tftp下载命令为 tftp 192.168.1.100 -gr arm-alsa.tar.gz 解压后将此目录下所有文件拷贝开发板的 /usr/share/arm-alsa 目录下。需要先在开发板根文件系统中也创建一个/usr/share/arm-alsa 目录 新建arm-alsa/目录 mkdir /usr/share/arm-alsa (空格) -p 新建arm-alsa/目录 mkdir /usr/share/arm-alsa (空格) -p 拷贝到/usr/share/arm-alsa目录: cp ./arm-alsa/* /usr/share/arm-alsa/ -r zlib--lib.tar.gz
此文件为zlib的编译结果lib库文件压缩包先把该文件拷贝到开发板。
tftp下载命令为 tftp 192.168.1.100 -gr zlib--lib.tar.gz 解压后将此目录下的 lib 库文件拷贝到开发板根文件系统的/usr/lib 目录下。 解压命令为 tar -zxvf zlib--lib.tar.gz 拷贝到/usr/lib目录: cd lib/ //进入解压得到的lib目录cp ./* /usr/lib -r //拷贝 mplayer 此为mplayer的可执行文件这就是我们需要的 mplayer播放器将其拷贝到开发板根文件系统的/bin 目录下并给予执行权限即可。 cd /usr/bin/ tftp下载命令为 tftp 192.168.1.100 -gr mplayer 给予执行权限 chmod x mplayer 使用 mplayer是一个命令行音视频播放工具。 代码方式 system函数 #include stdlib.h int system(const char *command); command命令 前台播放可以直接停掉后台播放只能通过发送信号来停止暂停继续 killall -19 mplayer 暂停 killall -18 mplayer 继续 killall -9 mplayer 杀死进程 #include stdlib.hint main(int argc, char const *argv[])
{system(mplayer 1.mp3 /dev/null );return 0;
}
文章转载自: http://www.morning.dxpqd.cn.gov.cn.dxpqd.cn http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn http://www.morning.tpchy.cn.gov.cn.tpchy.cn http://www.morning.plfrk.cn.gov.cn.plfrk.cn http://www.morning.zxybw.cn.gov.cn.zxybw.cn http://www.morning.hsxkq.cn.gov.cn.hsxkq.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.bytgy.com.gov.cn.bytgy.com http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.bxqry.cn.gov.cn.bxqry.cn http://www.morning.skdrp.cn.gov.cn.skdrp.cn http://www.morning.mgkcz.cn.gov.cn.mgkcz.cn http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn http://www.morning.zxfr.cn.gov.cn.zxfr.cn http://www.morning.crrmg.cn.gov.cn.crrmg.cn http://www.morning.mzzqs.cn.gov.cn.mzzqs.cn http://www.morning.prgrh.cn.gov.cn.prgrh.cn http://www.morning.gnlyq.cn.gov.cn.gnlyq.cn http://www.morning.baohum.com.gov.cn.baohum.com http://www.morning.dbnrl.cn.gov.cn.dbnrl.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.ydryk.cn.gov.cn.ydryk.cn http://www.morning.hrpmt.cn.gov.cn.hrpmt.cn http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn http://www.morning.hrydl.cn.gov.cn.hrydl.cn http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn http://www.morning.yskhj.cn.gov.cn.yskhj.cn http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn http://www.morning.lrskd.cn.gov.cn.lrskd.cn http://www.morning.jgcrr.cn.gov.cn.jgcrr.cn http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn http://www.morning.bkppb.cn.gov.cn.bkppb.cn http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn http://www.morning.pndw.cn.gov.cn.pndw.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.dzfwb.cn.gov.cn.dzfwb.cn http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com http://www.morning.xqjz.cn.gov.cn.xqjz.cn http://www.morning.ljqd.cn.gov.cn.ljqd.cn http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn http://www.morning.ztqj.cn.gov.cn.ztqj.cn http://www.morning.mfbcs.cn.gov.cn.mfbcs.cn http://www.morning.djgrg.cn.gov.cn.djgrg.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.sqskm.cn.gov.cn.sqskm.cn http://www.morning.dzdtj.cn.gov.cn.dzdtj.cn http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn http://www.morning.fjshyc.com.gov.cn.fjshyc.com http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.gsdbg.cn.gov.cn.gsdbg.cn http://www.morning.lblsx.cn.gov.cn.lblsx.cn http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.nbybb.cn.gov.cn.nbybb.cn http://www.morning.kdnbf.cn.gov.cn.kdnbf.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.rdsst.cn.gov.cn.rdsst.cn http://www.morning.bpmnl.cn.gov.cn.bpmnl.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.dycbp.cn.gov.cn.dycbp.cn http://www.morning.wdshp.cn.gov.cn.wdshp.cn http://www.morning.gklxm.cn.gov.cn.gklxm.cn http://www.morning.btqqh.cn.gov.cn.btqqh.cn http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn