No recibo dato del RTC - SPI

Hola estoy haciendo pruebas para ver si me funciona un RTC conectado al microcontrolador por SPI. El CE funciona, la señal del clk la recive bien, envio el dato perfecto, pero no me lo devuelve...me devuelve siempre un 0. llevo muchos dias estancado y no consigo hacer progresos. Alguien me puede ayudar??

Datos:
Micro: STM8S207R8
RTC: DS1305

Código:
/****************SPI ********************/
	  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
  
  SPI_DeInit();
 SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_32, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT, 0x07);
 SPI_Cmd(ENABLE);
do
	{
	
  TempData = 1;	
	
	GPIO_WriteHigh(GPIOC, GPIO_PIN_2);
	  for(i=0;i<10;i++);
	while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);
	SPI_SendData(0x0F);
	for(i=0;i<10;i++);
	while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET);
	TempData = SPI_ReceiveData();
	GPIO_WriteLow(GPIOC, GPIO_PIN_2);
  LCD_CLEAR_DISPLAY();
	LCD_HOME();
	LCD_printf("%d\n",((TempData)));	
	
	Delay(100);
	
  }

Alguna idea de proque siempre recivo un 0???

PD he comprobado con el osciloscopio una por una las patillas del DS1305 y CE CLK y SDI funcionan OK, pero en SDO tengo siempre 0 (no es problema del DS1037) porque he probado con varios
 

Adjuntos

  • Captura.JPG
    Captura.JPG
    20.9 KB · Visitas: 6
Atrás
Arriba