yubingz

    1. 发现问题了,原来是spi的时钟没有打开, 现在有个新问题 配置正确后,往DR中写数后,用示波器在CLK上能看到8个周期的clock信号,但是在MOSI脚上什么都看不到,是什么原因? 谢谢! 代码是这样的:                 SPI_Initial();                         while(1)         {                 SPI_SendData(SPI1, 0x5A);                        while (RESET == SPI_GetFlagStatus(SPI1, SPI_FLAG_TXE));  // 等待数据接收完成                 delay_1us(100);         }
    2. 配置的代码在这,我试过GPIO注销掉,也是一样,SPI_Init后,寄存器一点都不变,好像没有配进去。 直接写SPI1->CR1 = 0x02;也不变 void spiInit(void) {         SPI_DeInit(SPI1);         //SPI_CLOCK:PB5, SPI_MOSI: PB6, SPI_MISO: PB7         GPIO_Init(SPI_CLK, SPI_Pin_CLK, GPIO_Mode_Out_PP_High_Fast);         GPIO_Init(SPI_MOSI, SPI_Pin_MOSI, GPIO_Mode_Out_PP_High_Fast);         //主机模式,配置为输入 该设置很关键         GPIO_Init(SPI_MISO, SPI_Pin_MISO, GPIO_Mode_In_PU_No_IT);                 /* 配置CS管脚 PB4 */         GPIO_Init(SPI_CS , SPI_Pin_CS, GPIO_Mode_Out_PP_High_Fast);         GPIO_WriteBit(SPI_CS, SPI_Pin_CS, SET);         /* 拉高不使能外部SPI设备 */                   /* 初始化SPI */ //        SPI1->CR1 = 0x02;                         SPI_Init(        SPI1, SPI_FirstBit_MSB,                                                 SPI_BaudRatePrescaler_256,                                                 SPI_Mode_Master,                                                 SPI_CPOL_Low,   //TODO: need to be checked                                                 SPI_CPHA_1Edge, //TODO: need to be checked                                                 SPI_Direction_2Lines_FullDuplex,                                                 SPI_NSS_Soft,                                                 0x01);         //        SPI_Cmd(SPI1, ENABLE);        /* 使能SPI */ }
    3. 这个绝对是MSP430最好的入门教程了。中文 417/105051 微控制器 MCU 2016-11-19
      谢谢

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言