bk7231n_3.3.4的SPI读取问题
Posted: 2023年 Apr 11日 14:35
你好:
关于bk7231n_3.3.4的SPI读取问题,我看了里面的SDK发送有例子,但是SPI接收没有例子,能否出一个SPI接收的例子?
Code: Select all
我也看了SPI上面的语句,提示全双工有问题?能否帮忙看看如何处理, 因为有时候我们要使用外挂FLASH,这个时候应该如何读取,有没有相关例子?
你好:
关于bk7231n_3.3.4的SPI读取问题,我看了里面的SDK发送有例子,但是SPI接收没有例子,能否出一个SPI接收的例子?
Code: Select all
我也看了SPI上面的语句,提示全双工有问题?能否帮忙看看如何处理, 因为有时候我们要使用外挂FLASH,这个时候应该如何读取,有没有相关例子?
[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
}
}
hearge 2023年 Apr 11日 14:5315988991229 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?
是的,直接替换也可以。