w802 hspi 从机 spi 主机

发布于 2023-09-15 16: 41: 13

能否提供一个与 w802 从机 hspi demo 直接通信的 w802 主机 spi 代码?

查看更多

关注者
0
被浏览
1. 9k
3 个回答
isme
isme 认证专家 2023-09-15
冰镇大西瓜

按照 WM_W800_SDK_DEMO 使用指导操作即可.
image. png
WM_W800_SDK_DEMO 使用指导_V1. 5. pdf
STM32_SOC_TEST_SLAVE_SPI. rar

glen
glen 2023-09-15
这家伙很懒, 什么也没写!

我没有 32 的板子, 只有 802 哭晕 自己一天了没改出来, 我对照的 32 的先发了 8 位的 0x91, 然后发送了一个 cmd, 您给看一下这个 demo 对吗

int master_spi_send_data (int clk, int type)
{

int *p; 
int i; 
char *cmd_buf = NULL; 
char *tx_buf = NULL; 

/*MASTER SPI configuratioin*/
wm_spi_cs_config (WM_IO_PB_14) ; 
wm_spi_ck_config (WM_IO_PB_15) ; 
wm_spi_di_config (WM_IO_PB_16) ; 
wm_spi_do_config (WM_IO_PB_17) ; 
printf ("\r\n") ; 


if  (clk   0) 
{
    clk = 1000000;           /* default 1M */
}
if  (-1 == type) 
{
    type = 0; 
}

if  (0 == type) 
{
    tls_spi_trans_type (0) ; 
}
else
{
    tls_spi_trans_type (2) ; 
}

tls_spi_setup (TLS_SPI_MODE_0,  TLS_SPI_CS_LOW,  clk) ; 
cmd_buf = tls_mem_alloc (1) ; 
memset (cmd_buf,   0,  1) ; 
cmd_buf[0]=0x91; 


char *buf = NULL; 
buf = tls_mem_alloc (32) ; 

printf ("tx start cmdrn") ;
memset (buf, 0, sizeof (buf) ) ;

buf[0] = 0x5A; 
buf[1] = 0x00; 
buf[2] = 0x05; 
buf[3] = 0x01; 
buf[4] = 0x60; 


// printf ("SPI Master send 1500 byte,  modeA,  little endian\n") ; 

tls_spi_write ( (u8 *) cmd_buf,  1) ; 
printf ("cmd=%02x\n", cmd_buf[0]) ; 
tls_spi_write ( (u8 *) buf,   (buf[1]    8)  | buf[2]) ; 


tls_mem_free (cmd_buf) ; 
tls_mem_free (tx_buf) ; 
    tls_mem_free (buf) ; 
printf ("after send\n") ; 
return WM_SUCCESS; 

}

x301
x301 2023-09-22
业余小白

楼主解决了吗? 我想用 W801 接个 OLED 来显示, SPI 协议的, 始终无法点亮. 我用 STC89C52 都能顺利点亮显示的!

撰写答案

请登录后再发布答案, 点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览