我无法通过 SPI 读取BGT60LTR11AIP数据

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,我有一个BGT60LTR11AIP Radar Shield2Go板,并尝试通过PSOC4 MCU的SPI读取数据,但我无法获得它。

我已经将主板设置为 SPI 模式并使用了官方库代码。

附件是项目,有人能帮我吗?

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/Radar-sensor/I-can-not-read-BGT60LTR11AIP-data-by-SPI/td-p/634229

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

很抱歉延迟回复!

当您使用的是 PSoC 4 时,建议您查看最近发布的带有 PSoC 6 的库 S2GO BGT60LTR11AIP。 https://github.com/Infineon/cce-mtb-psoc6-bgt60ltr11-spi-interface/tree/842ba586a605702f47235cdb88da...

最诚挚的问候,

Pugitha

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/Radar-sensor/I-can-not-read-BGT60LTR11AIP-data-by-SPI/m-p/645953

在原帖中查看解决方案

0 点赞
12 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

你能尝试用 wait () 函数替换系统延迟吗?我注意到你指定的延迟与原始库中的延迟不同。

 NarraPugitha_0-1698989870592.png

最诚挚的问候,

Pugitha

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

谢谢你的回复。

我改用了 wait () 函数并设置了与原始函数相同的延迟时间,但它仍然不起作用。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

与其从 REG00 写入和读取,不如在 SPI 初始化后以 10 毫秒的延迟读取 REG56 来确定芯片版本? 完成后,请将结果告知我。

最诚挚的问候,

Pugitha

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 NarrapuGitha

我试着这样读 REG56:

int main(void)
{
cyDelay (10);
bgt60ltr11_spi_init ();//SPI MISO 线路上没有波浪
//bgt60ltr11_write_register (bgt60ltr11_register);而 (1)}


{
get_reg = bgt60ltr11_read_register(BGT60LTR11_REG_REG56_CHIP_STAT);
CyDelay(10);
}

它仍然获得 0x00 的数据。

 

问候,

克里斯

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

我正在尝试复制你遇到的问题,并将尽快提供更新。

最诚挚的问候,

Pugitha

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

你能验证一下时钟信号吗? 我注意到,在试用你的代码时,时钟信号一直很低。

最诚挚的问候,

Pugitha

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我用示波器检查了时钟信号,这是正常的方波,你还可以在以下 SPI 传输代码中看到时钟电平的变化:SPI_CLK_HIGH () 和 SPI_CLK_LOW ()

静态无符号字符 spi_transfer_byte(无符号字符字节)
{
无符号字符 read_byte = 0;

for (int i = 7;i > =0;i--)
{i
f (byte (1 & (i))) SPI_MOSI_HIGH < < ();否则
SPI_MOSI_LOW ();

如果 (1 == spi_miso_Read ()) read_byte = (
read_byte 1) | 1;否则 read_byte = (read_byte < < 1) | 0;

<<

SPI_CLK_HIGH ();
等待 (4);
SPI_CLK_LOW ();等等 (4);}

返回 read_byte;}

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

NarraPugitha_1-1699863244977.png

从你的设计来看,时钟总是很低。

NarraPugitha_2-1699863274915.png

最诚挚的问候,

Pugitha

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我没有使用硬件 SPI,而不是引脚模拟 SPI,而且 SPI 时钟由 SPI_CLK_HIGH () 和 SPI_CLK_LOW () 驱动,你可以再次查看我最初的项目。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @chwa_1570756

很抱歉延迟回复!

当您使用的是 PSoC 4 时,建议您查看最近发布的带有 PSoC 6 的库 S2GO BGT60LTR11AIP。 https://github.com/Infineon/cce-mtb-psoc6-bgt60ltr11-spi-interface/tree/842ba586a605702f47235cdb88da...

最诚挚的问候,

Pugitha

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/Radar-sensor/I-can-not-read-BGT60LTR11AIP-data-by-SPI/m-p/645953

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

感谢您提供这些新信息,我会尝试的。

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/Radar-sensor/I-can-not-read-BGT60LTR11AIP-data-by-SPI/m-p/647404

0 点赞
rong
Level 1
Level 1
25 sign-ins 10 sign-ins 5 sign-ins

Is there a solution? Any idea what caused it? I had the same problem

0 点赞