[求助] stm8软件模拟SPI

月亦无恨   2014-5-19 16:32 楼主
我用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

像这样可以吗,谢谢解答!

回复评论 (6)

望解答
点赞  2014-5-19 16:38
1、没说IC型号
2、没说主机从机
3、SO不必要中断
4、有硬件干嘛用软件模拟
点赞  2014-5-19 16:49
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);
点赞  2014-5-19 18:16
4楼的内容是设置I/O口输入、输出状态程序。
点赞  2014-5-19 18:17
哦  可以参考
点赞  2014-5-19 19:34
SPI看你是主机还是从机了,主机端sck,mosi输出口,miso输入,nss只在多主时用.
点赞  2014-5-19 22:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复