Cypress技术william hill官网
直播中

黄伟

7年用户 206经验值
私信 关注
[问答]

哪里可以找到请求指南和中断使用spi的示例?

我使用CY8CKIT-042-BLE开发板和CYBL1053BLE模块板。我使用PSoC创建者3.3 IDE进行开发。
我正在编写一个代码,作为一个SPI大师来控制一个LCD。我可以通过使用XXX-SPIUARTPARRAY()API函数发送数据。但是,我不知道如何在完成发送整个数据包时进行检查。根据我以前的经验,通常有两种方法:
1。在一个while循环中不断检查一个“忙”标志,当传输完成时,它从循环中跳出。
2。设置传输端中断。
我已经查看了PSoC Creator生成的示例代码,但是我无法使用上面的方法找到SPI示例。相反,代码示例总是假设有一个从会反馈数据的奴隶,它检查发送的字节数是否等于接收到的字节数。然而,在我的情况下,液晶显示器将不会反馈任何东西。
你能提供指导和代码的例子吗?
坦率地说,PSoC Creator生成了高层次的抽象代码,但是缺少使用API的详细解释(或者很难找到它们)。我还使用了Atmel,它使用了同样的抽象,但是我可以在IDE中找到EvyMyCu的所有例子。当我第一次写Atmel M0MCU时,我只能用一天的时间来驱动所有简单的外围设备。

回帖(3)

王琳

2019-10-21 10:33:06
欢迎来到william hill官网 !
“检查发送的字节数是否等于接收到的字节数”
这是一个SPI的事情,你的LCD会发送数据,虽然它们可能毫无意义。对于每一位(字节),你作为主人发送一位(字节)从奴隶接收。因此,您可以检查接收到的字节数是否等于发送的字节数。这将指示完整的传输,包括发送器/接收器部分中的延迟时间。一些串行组件使用内部()!)中断,以确保数据从FIFO中取出并存储在内存中,从而避免溢出。这可能会干扰您自己的中断处理程序。
对SPI内部中断的扩展名为“宏回调”,在数据表中搜索该字符串以供解释。一些一般信息在创建者帮助中。
与竞争对手的芯片相反,PSoC包含真正的硬件。因此,组件的数据表是以电子数据表的形式制作的。当他们习惯的时候,他们很容易阅读和理解。
鲍勃
举报

黄伟

2019-10-21 10:45:05
引用: ncmza 发表于 2019-10-21 16:53
欢迎来到william hill官网 !
“检查发送的字节数是否等于接收到的字节数”
这是一个SPI的事情,你的LCD会发送数据,虽然它们可能毫无意义。对于每一位(字节),你作为主人发送一位(字节)从奴隶接收。因此,您可以检查接收到的字节数是否等于发送的字节数。这将指示完整的传输,包括发送器/接收器部分中的延迟时间。一些串行组件使用 ...

嗨,鲍伯,谢谢你的回放。我不确定SPI是否需要MOSI和MISO共存。然而,在我的LCD模块中,使用了一个流行的LCD驱动IC,没有MISO引脚。在CyPress配置中,我们可以设置SPI组件来删除MISO引脚。
我可以把MISO引脚放在SPI组件上,但是如果这个引脚没有用,它会好吗?特别是在我们用完所有IO引脚的情况下。
举报

王琳

2019-10-21 11:04:48
尝试您的SPIM的双向模式,请参阅数据表中的图片。有一个内部环回,所以你仍然可以看到当传输完成。
鲍勃
举报

更多回帖

发帖
×
20
完善资料,
赚取积分