木子-387117 发表于 2017-2-21 10:35:18

本帖最后由 木子-387117 于 2017-2-21 10:39 编辑

jtc_88 发表于 2017-2-20 09:20
分开读,意思是一个字节一个字节的读
就是读的8位bit一个字节啊然后示波器有数据 看下一楼但是STM32木有采集到   
HAL_GPIO_WritePin(NSS_IOPORT, NSS_PIN,GPIO_PIN_RESET );片选o
    SpiInOut( addr & 0x7F );//给地址
    buffer = SpiInOut(0);//给数据0 全双工拿寄存器数值
    HAL_GPIO_WritePin(NSS_IOPORT, NSS_PIN,GPIO_PIN_SET );片选1

木子-387117 发表于 2017-2-21 10:38:17

示波器测试数据

zbber 发表于 2017-2-21 11:21:04

应该是SPI的模式设置错了;

木子-387117 发表于 2017-2-21 13:06:55

本帖最后由 木子-387117 于 2017-2-21 13:22 编辑

zbber 发表于 2017-2-21 11:21
应该是SPI的模式设置错了;这是模式设置应该没有错的啊求帮看看全双工 主 8位数据 相位极性都为0 MSB first
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 7;

hua518888 发表于 2017-2-27 23:41:51

我也是这个情况,解决了没?谢谢。
页: 1 [2]
查看完整版本: 使用HAL_SPI_TransmitReceive 问题:示波器看MISO有返回数据 但是..