资源简介
开源的JPEG格式图片解码C语言程序库,其中包含已移植的avr,pic单片机版本以及原始的VC版本。本人亲测,移植到stm32f103单片机中,正常使用,效果非常好。其特点是可以解码所有的jpeg格式图片。本人在项目中选用的一款摄像头给出的编码后的jpeg图片非常规格式。主流的jpeg解码程序库无法正常解码。使用该程序库后可正常解码。
代码片段和文件信息
/*------------------------------------------------------------------------/
/ MARYEX-OB OLED display control module
/-------------------------------------------------------------------------/
/
/ Copyright (C) 2011 ChaN all right reserved.
/
/ * This software is a free software and there is NO WARRANTY.
/ * No restriction on use. You can use modify and redistribute it for
/ personal non-profit or commercial products UNDER YOUR RESPONSIBILITY.
/ * Redistributions of source code must retain the above copyright notice.
/
/-------------------------------------------------------------------------*/
#include
#include “disp.h“
#include “xprintf.h“
#include “uart.h“
static int MaskT MaskL MaskR MaskB; /* Active drawing area */
static int LocX LocY;
static uint32_t ChrColor; /* Current character color ((bg << 16) + fg) */
static const uint8_t *FontS; /* Current font (ANK) */
#if DISP_USE_DBCS
static const uint8_t *FontD; /* Current font (Kanji) */
static uint8_t Sjis1; /* Sjis leading byte */
#endif
/*-----------------------------------------------------*/
/* OLED module access functions */
#define POWER_LOW() _LATB5 = 0
#define POWER_HIGH() _LATB5 = 1
#define RES_LOW() _LATB6 = 0
#define RES_HIGH() _LATB6 = 1
#define CS_LOW() _LATB7 = 0
#define CS_HIGH() _LATB7 = 1
#define CMD_WR(d) send_cmd(d); /* Write a command byte to the OLED */
#define DATA_WRB(d) send_data(d); /* Write a data byte to the OLED */
#define DATA_WPX(d) { send_data(d >> 8); send_data(d); } /* Write a pixel to the OLED */
void send_cmd (
BYTE d
)
{
_LATB8 = 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x80) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x40) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x20) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x10) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x08) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x04) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x02) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x01) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
}
void send_data (
BYTE d
)
{
_LATB8 = 1;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x80) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x40) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x20) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x10) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x08) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x04) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x02) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
_LATB8 = (d & 0x01) ? 1 : 0;
_LATB9 = 1; _LATB9 = 0;
}
/*-----------------------------------------------------*/
/* Set rectangular area to be transferred */
static
void disp_setrect (
int left /* Left end (0 to 127) */
int right /* Right end (0 to 127 >= left) */
int top /* Top end (0 to 127) */
int bottom /* Bottom end (0 to 1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2574 2010-08-11 02:45 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\diskio.h
文件 21396 2011-10-04 19:53 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\disp.c
文件 2702 2011-10-04 19:53 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\disp.h
文件 141694 2011-09-05 23:01 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ff.c
文件 12334 2011-09-05 13:42 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ff.h
文件 7519 2011-10-01 19:20 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\ffconf.h
文件 13261 2011-10-04 19:54 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\font.c
文件 856 2010-04-24 23:45 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\integer.h
文件 106003 2011-10-04 22:06 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.map
文件 2326 2011-10-04 23:03 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcp
文件 10592 2011-10-04 23:03 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcs
文件 36864 2011-10-04 23:03 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.mcw
文件 9030 2011-10-01 21:59 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\jpeg_pic.png
文件 16621 2011-10-04 19:53 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\main.c
文件 2695 2007-12-24 13:13 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\Makefile
文件 17018 2011-08-01 20:12 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\mmc.c
文件 172 2011-10-01 19:05 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\pic24f.h
文件 25 2011-10-01 19:32 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\pic24sp.ini
文件 16556 2009-03-14 12:27 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\stdint.h
文件 130 2008-02-10 01:18 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\test.bat
文件 35288 2011-10-04 19:52 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tjpgd.c
文件 2833 2011-10-04 22:05 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tjpgd.h
文件 24 2011-09-05 23:33 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\tt.ini
文件 3317 2011-10-01 18:04 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\uart.c
文件 235 2011-10-01 18:39 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\uart.h
文件 10228 2011-07-10 21:05 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\xprintf.c
文件 1386 2011-06-08 22:19 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\jpegd_pic\xprintf.h
文件 1158 2011-12-06 03:50 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\redme.txt
文件 1146 2009-12-09 21:45 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\tjpgd_avr\diskio.h
文件 21107 2011-10-04 19:56 ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数\tjpgd_avr\disp.c
............此处省略101个文件信息
相关资源
- VC++编程的第一个MFC工程Hello World
- 通用弹道仿真计算程序(简版)V1.0
- 经典书籍《C++ Primer Plus 第6版 》 中文
- C语言模糊控制程序
- C++语言实现一些基本算法(两点距离
- C++编写的类似水果忍者的切水果的效
- Kinect手势控制鼠标
- C++实现的蓝牙应用程序框架-BlueSolei
- 多表代换 加密解密 C语言实现
- C语言版经纬度与高斯投影相互转换函
- 宾馆客房管理系统-C语言
- C++编写ATM机模拟程序
- 数据结构算法与应用--C++语言描述 书
- c++ 飞机订票系统设计及分析包含源代
- 数据结构大作业 停车场管理 C语言
- 学校信息管理系统(C++版[原创])
- 谭浩强《C++面向对象程序设计》实验
- 面向对象编程MFC综合实验代码
- 高质量程序设计指南:C++/C语言第
- 北航991数据结构与C语言程序设计历年
- C++ Primer习题集 第5版.高清版
- C语言考研真题汇编 高清PDF
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- C++上机题+期末考试题+答案
- C++开发KTV点歌系统
- 《水果忍者》设计报告.doc
- pcm语音编码
- c++迷宫最短路径寻径算法
- arp欺骗C++实现
- 扫雷辅助程序.zip
评论
共有 条评论