int main(void)
{
/* Configure the system clocks */
RCC_Configuration();
/* NVIC Configuration */
NVIC_Configuration();
/* Configure the GPIOs */
GPIO_Configuration();
USART_Configuration();
AD_init();
WriteReg(0x12,0x04); //内部时钟,电流400uA
WriteReg(0x1f,0x00); //通道设置:CH0连续转换
WriteReg(0x20,0x25); //CH0:选择VREFP1,VINP=VIN4,VINN=VIN5 ***
WriteReg(0x21,0x40); //CH0配置:转换速率4(26.83125SPS),增益0
while(1)
{
wait(8000000);
GPIO_ResetBits(GPIOD, GPIO_Pin_7); //Cs=0;
wait(100);
WriteAD(0x10);
WriteAD(0x01);
WriteAD(0xEA);
ReadAD(3);
GPIO_SetBits(GPIOD, GPIO_Pin_7); //Cs=1;
USART_SendData(USART1,r_buffer[0]);
USART_SendData(USART1,r_buffer[1]);
USART_SendData(USART1,r_buffer[2]);
}
}
void AD_init(void)
{
//LMP90100
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 ; //CS
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_10; //CLK,SDI
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;