我用stm8的IO口模拟SPI读写寄存器,请问SPI的四根线MOSI. MISO. SCLK. NSS 要怎样配置成输入模式或输出模式
GPIO_Init(GPIOA,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_FAST); //NSS
GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_FAST); //SCK
GPIO_Init(GPIOC,GPIO_PIN_6,GPIO_MODE_OUT_PP_LOW_FAST); //SI
GPIO_Init(GPIOC,GPIO_PIN_7,GPIO_MODE_IN_PU_IT); //SO
像这样可以吗,谢谢解答!
1、没说IC型号
2、没说主机从机
3、SO不必要中断
4、有硬件干嘛用软件模拟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_4; //LED1 PA1, LED2 PA4
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽蜀汉粗模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式最大速度50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // PA0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //通用上拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大速度50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);
SPI看你是主机还是从机了,主机端sck,mosi输出口,miso输入,nss只在多主时用.