测试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 好的,收到,感谢。