完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前正尝试将加速度计LIS3DH与PSOC4 BLE接口。我在PSoC创建者中选择了SPI Master全双工模式。有人能告诉我它是否正确。正常模式和SCB模式有什么区别?
此外,加速度计的寄存器通过将值写入它们来配置。因此,我必须编写自己的函数来写入寄存器,或者在创建者中已经有一些API。 我也对数据表中提到的HSIOM感到困惑。我们应该配置这些寄存器吗? 最后,“.CydWR”文件中的PIN赋值与数据表中的PIN分配不同。 (例如: 在数据表中:MoSi=P0.0,MISO=P0.1,SCLK=P0.3; 在CydWR文件中:MoSi=P0.0,MISO=P0.2,SCLK=P0.1) 我需要更改CydWR文件中的PIN赋值吗? |
|
相关推荐
17个回答
|
|
欢迎来到论坛!
最后,“.CydWR”文件中的PIN赋值与数据表中的PIN分配不同。 你指的是哪一个数据表?(链接) 我找不到P0.0的引用。最好是指派引脚在您的需要和PSoC能力。 所以我必须写我自己的函数来写寄存器。 是的,SPI设备是完全不同的,所以没有通用的API。 我也对数据表中提到的HSIOM感到困惑。我们应该配置这些寄存器吗? 不,不需要标准使用。 正常模式和SCB模式有什么区别? 有串行控制块(SCB),内置(SPI)SPI。此外,还有通用的数字块(UDB),SPI接口也可以从其中构建。UDB是非常通用的,所以最好的做法是尽可能长时间保存它们。 鲍勃 |
|
|
|
非常感谢Marlowe先生的帮助。下面是我提到的数据表的链接(页码14-15)。 HTTPS://www. GooGel.C.I/URL?= &&;源=Web&;CD=2和&;CAD=RJA & AUTA= 8和&;VED=0AHKEWILR,LJ7AH4WHWSWO4KHBM1DMOQFGIMIAE和;URL=HTTP %3A%2F%2FWW.CyPress。COV% 2FFILE %2F13766和;UGG=AFQJCVOV4NUU-HEK1O8WDSZITNXV39 SW&A;BVM=BV 116274245,D C2E。SA= T&RCT= J & Q;Q |
|
|
|
|
|
|
|
好啊。那么,我是否应该信任数据表或CyDWR文件中的作业呢? |
|
|
|
|
|
|
|
|
|
|
|
不确定它是否有任何用处,但我在一个芯片上的I2S总线上工作。CyPress示例远程控制代码库就是这样做的一个很好的例子。
|
|
|
|
好的,我一定要看一下。谢谢您。 |
|
|
|
我仍然难以运行我的SPI代码。我选择了SPI主控全双工宏组件。这个组件指示了PSoC将要运行的模式(主控)还是加速计将要运行的模式(从属)?因此,如果是后者,那么我应该选择SPI从属全双工宏组件吗?我也困惑于哪个函数的作用是跨SPI写/读,是SPIGWORTEXDATA/SPIX Read RXDATA还是MysiWrd/MISOORIAD?
|
|
|
|
主配置是正确的。mosi_write()会尝试访问引脚直接将不工作,因为有一个直接的信号连接。有一个(点长)API的SPI数据列表。你应该等到所有字节传送(送)在你访问接收到的数据。设置内部缓冲区足够大,保持交易。
鲍勃 |
|
|
|
我试了一段时间让SPI工作,但我仍然有困难。所以我已经开始工作了I2C协议(LIS3DH也支持)。我也面临一些问题。我使用UART来测试代码,所以我在I2CMetrsEntEngt函数的不同点添加了“放置字符串”语句,以便跟踪错误。它显示了总线错误,根据数据表,总线错误是由于错误的开始和停止条件,并且因为它没有返回错误。或状态,并阻止主代码的进一步步骤。
附上的工作空间是相同的。在代码中,0x33是加速度计的地址,0x0f是要读取的子地址(身份寄存器,其值为0x33)。代码不起作用。有什么可能是错的? LIS3DH(I2C) 5.3兆字节 |
|
|
|
字节I2C接口非常简单:在建立组件后,开始使用它
I2CyMasksEngESTEnter(DeVice地址,I2CX Read EXFIX模式);(或)初始化I2cMyMraveScript(寄存器)的事务;(或)指示要向I2C.MistWrrestEnter字节(值)写入哪个寄存器;//写入到I2CyMasksEntStestSo(); 当您想从使用的设备读取时(读取两个字节的示例) I2CyMasksEngEnter(DeVice Advices,I2CX WrreEX-XFLYMODE);/初始化I2cMyMraveScript(寄存器)的事务;/ /指示要写入I2C.MaskestEntRead(DeVice地址,I2CX Read x Felx模式)的寄存器;I2C*MaultRead字节(I2CYACKYDATA);/从寄存器I2CYMA读取StRead字节(I2CyNaKiDATA);//从寄存器读取,最后一个字节是裸露的I2CyMasksEntStestSo(); 不太难。请记住,大多数API(除了读取字节之外)都返回一个状态字节,当非零指示错误条件时。 鲍勃 |
|
|
|
谢谢你的帮助。我对更多的事情感到困惑——I2CYACKYDATA和I2CnNaKi数据的确切值是什么。
我找不到它们在任何生成的文件中定义。 此外,I2CJMigWrrestOrthe()和I2C.MistWrreWestEnter()函数是否相同?因为我不能单独找到MraveRead()函数。 |
|
|
|
在.h文件中查找名称时,在使用基于SCB的I2C组件时,必须使用它们或等价物。
打开组件数据表,搜索“NAK”以获取基本名称。 不要忘记你的组件名称是“I2CY1”,而不是“I2C”,如我的解释。 鲍勃 |
|
|
|
是的,我非常抱歉我没有正确地搜索。我做了你建议的修改。函数i2cWestMraveWrdEnter()可以用来发送寄存器地址吗?我仍然没有得到任何输出。它仍然显示“总线错误”。
|
|
|
|
|
|
|
|
我使用PSoC CY8CKIT-042-BLE(CY8C4247LQI-BL43)。I2C.MaSTeMsEnSTART不返回状态,它阻塞了进一步的程序。 设计:01. Cyrjj.Access 01Y2.Zip 1.9兆字节 |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2103 浏览 1 评论
1849 浏览 1 评论
3667 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1784 浏览 6 评论
1534 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
566浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
420浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
435浏览 2评论
381浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
913浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:26 , Processed in 1.550938 second(s), Total 114, Slave 96 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号