• 大小: 6.04MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-23
  • 语言: 其他
  • 标签: Linux  数码相框  

资源简介

实现照片的自动播放,切换,下载此文件,请确保电脑安装LInux,本软件实现的是基础图片播放

资源截图

代码片段和文件信息

#include “regs.h“
#include “common.h“

struct{
unsigned int src_addr;
unsigned int dst_addr;
unsigned int next_dma;
unsigned int control0;
unsigned int control1;
}next_work;

int sound_index = 0;

void delay(int n);

void ac97_init(void)
{
sound_index = 0x1f;

GPDCON = 0x44444;

AC_GLBCTRL |= 1;
delay(1);
AC_GLBCTRL &= ~1;

AC_GLBCTRL |= 1 << 1;
delay(1);
AC_GLBCTRL &= ~(1 << 1);

AC_GLBCTRL |= 1 << 2;
delay(1);
AC_GLBCTRL |= 1 << 3;

AC_CODEC_CMD |= 1 << 23;
delay(10);
if((AC_GLBSTAT & 0x7) == 0x3){
//uprintf(“AC97 init OK!\n“);
}else{
uprintf(“The error status is %d\n“ (AC_GLBSTAT & 0x7));
}
}

void write_wm9714(unsigned int reg unsigned int val)
{
AC_CODEC_CMD = (reg << 16) | (val);
delay(1);
}

void wm9714_init(void)
{
write_wm9714(0x0c (0x1f << 8) | (0x1f));
write_wm9714(0x5c (1 << 7));
write_wm9714(0x2a 1);
write_wm9714(0x2c 0xac44);
write_wm9714(0x1c (2 << 4) | (2 << 6) | (3 << 11) | (3 << 8));
write_wm9714(0x04 0);
write_wm9714(0x02 0);
write_wm9714(0x24 (1 << 4));
write_wm9714(0x5a (0 << 6));
write_wm9714(0x26 0);
write_wm9714(0x3c 0);
write_wm9714(0x3e 0);
}

void ac97_dma_init(unsigned int addr unsigned int len)
{
next_work.src_addr = addr;
next_work.dst_addr = (unsigned int)(&AC_PCMDATA);
next_work.next_dma = (unsigned int)(&next_work);
next_work.control0 = (1 << 26) | (1 << 25) | (2 << 21) | (2 << 18);
next_work.control1 = (len + 3) >> 2;

DMACC0LLI = (unsigned int)(&next_work);

SDMA_SEL |= 1 << 22;

DMACC0SrcAddr = addr;
DMACC0DestAddr = (unsigned int)(&AC_PCMDATA);
DMACC0Control0 = (1 << 26) | (1 << 25) | (2 << 21) | (2 << 18);
DMACC0Control1 = (len + 3) >> 2;
DMACC0Configuration = (1 << 11) | (6 << 6) | (1);
}

void play_music(unsigned int addr unsigned int len)
{
ac97_dma_init(addr len);
AC_GLBCTRL |= (2 << 12);
DMACConfiguration |= 1;
}

void delay(int n)
{
int i j;

for(i = 0; i < n; i++){
for(j = 0; j < 10000; j++){
;
}
}
}

void sound_updown(int n)
{
if(n == 0){
sound_index++;
if(sound_index > 0x1f){
sound_index = 0x1f;
}
}else{
sound_index--;
if(sound_index < 0){
sound_index = 0;
}
}
write_wm9714(0x0c (sound_index << 8) | (sound_index));
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2206  2014-04-24 20:36  数码相框\ac97.c

     文件        286  2014-04-24 20:36  数码相框\boot.c

     文件        286  2014-04-24 20:36  数码相框\clock.c

     文件        237  2014-04-24 20:36  数码相框\common.h

     文件       1079  2014-04-24 20:36  数码相框\ddr.c

     文件       1623  2014-04-24 20:36  数码相框\irq.c

     文件        775  2014-04-24 20:36  数码相框\key.c

     文件       4068  2014-04-24 20:36  数码相框\lcd.c

     文件        123  2014-04-24 20:36  数码相框\ld.lds

     文件        211  2014-04-24 20:36  数码相框\led.c

     文件        849  2014-04-24 20:36  数码相框\main.c

     文件        655  2014-04-24 20:36  数码相框\Makefile

     文件     522240  2014-04-24 20:36  数码相框\mkimage\3

     文件       1497  2014-04-24 20:36  数码相框\mkimage\bmp.c

     文件     522240  2014-04-24 20:36  数码相框\mkimage\end

     文件        871  2014-04-24 20:36  数码相框\mkimage\fb.h

     文件       2480  2014-04-24 20:36  数码相框\mkimage\jpeg.c

     文件       2548  2014-04-24 20:36  数码相框\mkimage\main.c

     文件        269  2014-04-24 20:36  数码相框\mkimage\Makefile

     文件      31191  2014-04-24 20:36  数码相框\mkimage\mkimage

     文件       2238  2014-04-24 20:36  数码相框\mkimage\mkimage.c

     文件      68241  2014-04-24 20:36  数码相框\mkimage\mm\09.jpg

     文件     209269  2014-04-24 20:36  数码相框\mkimage\mm\1.jpg

     文件     483078  2014-04-24 20:36  数码相框\mkimage\mm\10.jpg

     文件      56982  2014-04-24 20:36  数码相框\mkimage\mm\11.jpg

     文件     119532  2014-04-24 20:36  数码相框\mkimage\mm\12.jpg

     文件     736826  2014-04-24 20:36  数码相框\mkimage\mm\13.jpg

     文件     571957  2014-04-24 20:36  数码相框\mkimage\mm\14.jpg

     文件     157510  2014-04-24 20:36  数码相框\mkimage\mm\15.jpg

     文件     570498  2014-04-24 20:36  数码相框\mkimage\mm\16.jpg

............此处省略26个文件信息

评论

共有 条评论