Page 1 of 1

bk7231n_3.3.4的SPI读取问题

Posted: 2023年 Apr 11日 14:35
by 15988991229

你好:
关于bk7231n_3.3.4的SPI读取问题,我看了里面的SDK发送有例子,但是SPI接收没有例子,能否出一个SPI接收的例子?


Code: Select all

  我也看了SPI上面的语句,提示全双工有问题?能否帮忙看看如何处理,  因为有时候我们要使用外挂FLASH,这个时候应该如何读取,有没有相关例子?
SPI-1.png

Re: bk7231n_3.3.4的SPI读取问题

Posted: 2023年 Apr 11日 14:53
by hearge

[quote=15988991229 post_id=4513 time=1681194931 user_id=1613]
你好:
关于bk7231n_3.3.4的SPI读取问题,我看了里面的SDK发送有例子,但是SPI接收没有例子,能否出一个SPI接收的例子?


可参考通用demo。

Code: Select all

void tuya_spi_test1(void)
{
    OPERATE_RET ret;
    TUYA_SPI_BASE_CFG_T cfg;
    TUYA_SPI_STATUS_T status;
    //receive buffer
    char rcv_buf[8];
    //data to send
    char send_buf[8] = {0,1,2,3,4,5,6,7};
    tkl_io_pinmux_config(TUYA_IO_PIN_0, TUYA_SPI0_MISO);
    tkl_io_pinmux_config(TUYA_IO_PIN_1, TUYA_SPI0_MOSI);
    // tkl_io_pinmux_config(TUYA_IO_PIN_2, TUYA_SPI0_CS); //使用GPIO拉管脚可不配置使用。
    tkl_io_pinmux_config(TUYA_IO_PIN_3, TUYA_SPI0_CLK);
    
cfg.role = TUYA_SPI_ROLE_MASTER; cfg.mode = TUYA_SPI_MODE0; cfg.type = TUYA_SPI_AUTO_TYPE; cfg.databits = TUYA_SPI_DATA_BIT8; cfg.bitorder = TUYA_SPI_ORDER_MSB2LSB; cfg.freq_hz = 1000000; ret = tkl_spi_init(TUYA_SPI_NUM_0, &cfg); if (ret != OPRT_OK) { //fail return; } ret = tkl_spi_send(TUYA_SPI_NUM_0, send_buf, 8); if (ret < 0) { //failed } tkl_spi_get_status(TUYA_SPI_NUM_0, &status); while (status.busy) { tkl_spi_get_status(TUYA_SPI_NUM_0, &status); tkl_system_sleep(2); } ret = tkl_spi_recv(TUYA_SPI_NUM_0, rcv_buf, 8); if (ret < 0) { //failed } tkl_spi_get_status(TUYA_SPI_NUM_0, &status); while (status.busy) { tkl_spi_get_status(TUYA_SPI_NUM_0, &status); tkl_system_sleep(2); } ret = tkl_spi_transfer(TUYA_SPI_NUM_0, send_buf,rcv_buf, 6); if (ret < 0) { //failed } tkl_spi_get_status(TUYA_SPI_NUM_0, &status); while (status.busy) { tkl_spi_get_status(TUYA_SPI_NUM_0, &status); tkl_system_sleep(2); } //uninitialize iic ret = tkl_spi_deinit(TUYA_SPI_NUM_0); if (ret != 0) { //failed } }

Re: bk7231n_3.3.4的SPI读取问题

Posted: 2023年 Apr 11日 16:04
by 15988991229
hearge 2023年 Apr 11日 14:53
15988991229 2023年 Apr 11日 14:35

你好:
关于bk7231n_3.3.4的SPI读取问题,我看了里面的SDK发送有例子,但是SPI接收没有例子,能否出一个SPI接收的例子?


可参考通用demo。

Code: Select all

void tuya_spi_test1(void)
{
   
} }

你好,引用这个函数后,提示一个错误,这个TUYA_SPI_NUM_0,应该设置为什么?是不是应该#define TUYA_SPI_NUM_0 SPI_NUM_0?

SPI-2.png

Re: bk7231n_3.3.4的SPI读取问题

Posted: 2023年 May 5日 18:37
by 愚者千虑必有一得

是的,直接替换也可以。