是否可以提供 W806 与 DAC8830 通信的例程?  DAC8830 是三线单向 SPI.  
我用以下代码,  通信不成功.  
SPI_HandleTypeDef hspi; 
void SPI_Init (void) 
{
hspi. Instance = SPI; 
hspi. Init. Mode = SPI_MODE_MASTER; 
hspi. Init. CLKPolarity = SPI_POLARITY_LOW; 
hspi. Init. CLKPhase = SPI_PHASE_1EDGE; 
hspi. Init. NSS = SPI_NSS_SOFT; 
hspi. Init. BaudRatePrescaler = SPI_BAUDRATEPRESCALER_20; 
hspi. Init. FirstByte = SPI_BIGENDIAN; 
if  (HAL_SPI_Init (&hspi)  ! = HAL_OK) 
{
    Error_Handler () ; 
}}
bool DAC8330_SetDAC (uint16_t value) 
{
bool rc; 
union U2byte U2B; 
U2B. HarfWord = value; 
HAL_GPIO_WritePin (GPIOB,  GPIO_PIN_18,  GPIO_PIN_RESET) ;  // DAC8330  0=片选, 1=未片选
vTaskDelay (1) ; 
if  (HAL_SPI_Transmit (&hspi,  U2B. Bytes,  2,  5000000)  == HAL_OK) 
{
    W806. DAC = value; 
    rc = true; 
} else
    rc = false; 
vTaskDelay (1) ; 
HAL_GPIO_WritePin (GPIOB,  GPIO_PIN_18,  GPIO_PIN_SET) ;   // DAC8330  0=片选, 1=未片选
return rc; }
void HAL_SPI_MspInit (SPI_HandleTypeDef* hspi) 
{
__HAL_RCC_SPI_CLK_ENABLE () ; 
__HAL_AFIO_REMAP_SPI_CLK (GPIOB,  GPIO_PIN_24) ; 
__HAL_AFIO_REMAP_SPI_MOSI (GPIOB,  GPIO_PIN_26) ;     }
void HAL_SPI_MspDeInit (SPI_HandleTypeDef* hspi) 
{
__HAL_RCC_SPI_CLK_DISABLE () ; 
HAL_GPIO_DeInit (GPIOB,  GPIO_PIN_24 | GPIO_PIN_26) ; }
片选软控制, 并不是用任何一个 IO 来拉高拉低, 需要用__HAL_AFIO_REMAP_SPI_CS 配置有片选功能的 pin 脚为 cs 后, 调用__HAL_SPI_SET_CS_LOW, __HAL_SPI_SET_CS_HIGH 来使用.
请帮我看看代码有没有问题