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