測試WM iot SDK SPI_SLAVE 異步收發示例,打印出來的數據錯誤。是Master發送的格式不正確嗎?
查看更多
看不出有啥問題來,可有用邏輯分析儀或者示波器抓下波形,看線上的波形和要發的數據是否一致。
發布 問題
分享 好友
手機 浏覽
回到 頂部
1、下列代碼中在回調函數中再次發起數據傳輸,顯示“drv_spi: wait sync_async_sem timeout”;
2、如何在回調中再次調用wm_drv_spis_transceive_async發送數據?
/**
*
*
*/
/**
*
*
*
*/
include <stdio.h>
include <stdint.h>
include <string.h>
include <stdlib.h>
include "freertos/FreeRTOS.h"
include "freertos/queue.h"
include "freertos/semphr.h"
include "wm_types.h"
include "wm_error.h"
include "wm_soc_cfgs.h"
include "wm_drv_spi_slave.h"
include "wm_drv_gpio.h"
define LOG_TAG "exam_spis"
include "wm_log.h"
define MAX_DATA_SIZE 8
// 定義全局控制
typedef struct {
} spis_control_t;
spis_control_t g_spis_ctrl;
void my_spis_callback(int result, void *data) {
}
void start_continuous_transfer(void) {
}
int main(void)
{
}
@evilgemini
在驅動裡有一個信號量,先調用回調後才釋放信號量,在發送接口裡會判斷會獲取這個信號量。如果在回調裡直接調用發送接口,就會獲取不到信號量。可以在應用層回調裡發消息給任務裡,在任務裡再次調用發送接口。
@abcd 好的,收到,感謝。