##// END OF EJS Templates
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port...
Added Oplayer BSP, Fixed bug on GPIO library(gpiosetval change all the port instead of the desired bit).

File last commit:

r58:dcfec4f56803 dev_alexis
r60:17402611bd25 dev_alexis
Show More
bsp.c
143 lines | 3.6 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 "bsp.h"
#include <streamdevices.h>
#include <malloc.h>
#include <gpio.h>
#include <uart.h>
#include <spi.h>
#include <stdio.h>
#include <core.h>
uint32_t OSC0 =8000000;
uint32_t INTOSC =16000000;
uint32_t RTCOSC =32768;
uint32_t currentCpuFreq=0;
extern streamdevice* __opnfiles__[__MAX_OPENED_FILES__];
float VREF0 =(float)3.3;
int bsp_init()
{
int i=0;
for(i=0;i<32;i++)
{
__opnfiles__[i] = NULL;
}
bsp_GPIO_init();
bsp_uart_init();
bsp_spi_init();
printf("\r================================================================\n\r");
printf("================================================================\n\r");
printf(BSP);
printf(" initialised\n\r");
printf("================================================================\n\r");
return 1;
}
void bsp_GPIO_init()
{
gpio_t GPIOList[]={LED1,LED2,LED3,ADC_MODE0,ADC_MODE1,ADC_FSYNC
,ADC_SYNC,ADC_CLKDIV};
gpio_t GPIOx;
for(int i=0;i<8;i++)
{
GPIOx = gpioopen(GPIOList[i]);
gpiosetspeed(&GPIOx,gpiohighspeed);
gpiosetdir(&GPIOx,gpiooutdir);
gpiosetouttype(&GPIOx,gpiopushpulltype);
}
gpioset(ADC_CLKDIV);
gpioset(ADC_MODE0);
gpioset(ADC_MODE1);
gpioclr(ADC_SYNC);
gpioclr(ADC_FSYNC);
delay_100us(10);
gpioset(ADC_SYNC);
}
void bsp_uart_init()
{
if(__opnfiles__[1]==NULL)
{
//uart_t* uart1 = (uart_t*)malloc(sizeof(uart_t));
streamdevice* fd1 = (streamdevice*)malloc(sizeof(streamdevice));
//uart_t uart = uartopenandconfig(uart1,uartparitynone | uart8bits | uartonestop,230400,PA9,PA10,-1,-1);
uart_t uart = uartopenandconfig(uart1,uartparitynone | uart8bits | uartonestop,115200,PA9,PA10,-1,-1);
uartmkstreamdev(uart,fd1);
__opnfiles__[1] = fd1;
}
else
{
// uartopenandconfig(uart1,uartparitynone | uart8bits | uartonestop,230400,PA9,PA10,-1,-1);
uartopenandconfig(uart1,uartparitynone | uart8bits | uartonestop,115200,PA9,PA10,-1,-1);
}
}
void bsp_spi_init()
{
spiopenandconfig(spi1,spi8bits | spimaster |spiclkinhlow | spiclkfirstedge | spimsbfirst,4000000,DAC_DIN,ADC_DOUT1,ADC_SCLK,-1);
}
void bsp_iic_init()
{
}
void bsp_SD_init()
{
}
void vs10XXclearXCS(){}
void vs10XXsetXCS(){}
int vs10XXDREQ()
{
return 1;
}
void bsppowersdcard(char onoff) //always ON
{
}
char bspsdcardpresent()
{
return 0;
}
char bspsdcardwriteprotected()
{
return 0;
}
void bspsdcardselect(char YESNO)
{
}