##// END OF EJS Templates
sync
sync

File last commit:

r26:4728e0368be0 default
r52:04dbc44ec570 dev_alexis
Show More
vs1053.c
56 lines | 1.8 KiB | text/x-c | CLexer
#/*------------------------------------------------------------------------------
#-- This file is a part of the libuc, microcontroler library
#-- Copyright (C) 2011, Alexis Jeandet
#--
#-- This program is free software; you can redistribute it and/or modify
#-- it under the terms of the GNU General Public License as published by
#-- the Free Software Foundation; either version 3 of the License, or
#-- (at your option) any later version.
#--
#-- This program is distributed in the hope that it will be useful,
#-- but WITHOUT ANY WARRANTY; without even the implied warranty of
#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#-- GNU General Public License for more details.
#--
#-- You should have received a copy of the GNU General Public License
#-- along with this program; if not, write to the Free Software
#-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#-------------------------------------------------------------------------------
#-- Author : Alexis Jeandet
#-- Mail : alexis.jeandet@gmail.com
#-------------------------------------------------------------------------------*/
#include "ssp.h"
#include "vs1053.h"
//#include <bsp.h>
void vs1053open(vs1053Dev* codec,sspDev dev){
codec->SSP_device = dev;
}
void vs1053softreset(vs1053Dev* dev)
{
vs1053cmdwrite(dev,VSMODE,(1<<2));
}
int vs1053cmdread(vs1053Dev* dev,char address)
{
int result;
while(!vs10XXDREQ());
vs10XXclearXCS();
sspputw(dev->SSP_device,(3<<8)+address);
result = sspgetw(dev->SSP_device);
vs10XXsetXCS();
return result;
}
void vs1053cmdwrite(vs1053Dev* dev,char address,int value)
{
while(!vs10XXDREQ());
vs10XXclearXCS();
sspputw(dev->SSP_device,(2<<8)+address);
sspputw(dev->SSP_device,value);
vs10XXsetXCS();
}