用的位绑定,同样的配置但有的输出不正常 PB5正常 PA15 PB3不正常 用的stm32f103c8t6程序是在实验53 UCOSII入门实验1-1-任务调度 基础上改的
[mw_shl_code=c,true]void AD7793_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); //????PB,PE?????±??
//CS---PA15
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_15); //CS????????????
// SCLK---PB3 DIN--PB5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_5;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//DOUT---PB4
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}[/mw_shl_code]
[mw_shl_code=c,true]#define CS PAout(15)// PA15
#define SCLK PBout(3) // PB3
#define DIN PBout(5) // PB5
#define DOUT PBin(4) // PB4[/mw_shl_code]
[mw_shl_code=c,true]void AD7793_task(void *pdata)
{
u8 temp[10];
u32 i;
float res;
while(1)
{
SCLK = 1;
CS = 1;
DIN = 1;
delay_ms(1000);
SCLK = 0;
CS = 0;
DIN = 0;
delay_ms(1000);
}
}[/mw_shl_code]
|