完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我想建立一个沟通树莓PI和PSoC 5LP通过SPI 2MHz时钟与6字节。 在我的测试程序中,PSoC应该只发送6个测试字节,例如:0x11、0x22、0x33、0x44、0x55、0x66。 但是OsZiSoSokOp告诉我PSoC以错误的顺序发送字节…有时,相同的字节会扭起来: 0x11、0x55、0x44、0x66、0x55、0x22 或 0x55、0x66、0x11、0x33、0x55、0x66 当我把TX缓冲区大小降低到4,只发送字节0x11、0x22、0x33、0x44时,所有的内容都是正确的,PSoC不会出错。 我认为这是一个问题的中断FIFO…也许PSoC处理中断将字节移到FIFO以减慢速度? 最好的问候, 马丁 以上来自于百度翻译 以下为原文 Hello everyone, I want to build up a communication between a raspberry pi and a psoc 5LP via SPI 2MHz Clock with 6 Bytes. In my test programm the psoc should only send the 6 Test Bytes like: 0x11,0x22,0x33,0x44,0x55,0x66 But the oszilloskop shows me, that the psoc sends the bytes in the wrong order... sometimes the same byte twize like: 0x11,0x55,0x44,0x66,0x55,0x22 or 0x55,0x66,0x11,0x33,0x55,0x66 When i change the TX Buffer Size down to 4 and just send Bytes 0x11,0x22,0x33,0x44 everything is correct and the psoc doesnt make any mistakes.... I think it is a problem with the interrupts of the Fifo... maybe the psoc handles the interrupt to shift the bytes to the fifo to slow ? Best regards, Martin |
|
相关推荐
3个回答
|
|
你好,
你能把你的代码片段放在这里吗? 谢谢, 希马 以上来自于百度翻译 以下为原文 Hello, Can you post your code snippet here? Thanks, Hima |
|
|
|
我可以上传完整的项目,但是项目中还有其他一些程序,所以可能会让人困惑… 对于SPI通信,我只是这样做(从main复制): / ***************************************************************************************************************************** /主要功能 / ***************************************************************************************************************************** int() { /*启动KOMPNANTEN*/ SPISY11START(); ISrxSpRigGrutixSARTEX(TrutGeldIsR);//来自Raspberry Pi的Trigger Pin,设置SpIsTe扳=1 囊状的; /*循环永远** (;) { 如果(脉冲触发) { SPISG11WRITETXDATAZERO(0x11); SPISE11WRIGETXDATA(0x22); SPISE11WRIGETXDATA(0x33); SPISE11WRIGETXDATA(0x44); //SPISE11WRIGETXDATA(0x55); //SPISE11WRITETXDATA(0x66); 而(!)(SPISS1IRADTXXSTATUS()和SPISY11STSSPILIZON) { } 螺旋触发=0; } } } **** 以上来自于百度翻译 以下为原文 i could upload the complete project, but there are some other programms in the project, so it could be confusing ... for the spi communication i just do this ( copy from main ): //*********************************************************************************************** // Main Funktion //*********************************************************************************************** int main() { /* Start Komponenten */ SPIS_1_Start(); isr_spi_trigger_StartEx(Trigger_ISR); // Trigger Pin from Raspberry Pi that set SPI_TRIGGER=1 CyGlobalIntEnable; /* Loop forever */ for(;;) { if(SPI_TRIGGER) { SPIS_1_WriteTxDataZero(0x11); SPIS_1_WriteTxData(0x22); SPIS_1_WriteTxData(0x33); SPIS_1_WriteTxData(0x44); //SPIS_1_WriteTxData(0x55); //SPIS_1_WriteTxData(0x66); while(!(SPIS_1_ReadTxStatus() & SPIS_1_STS_SPI_DONE)) { } SPI_TRIGGER=0; } } } /* End of main */ |
|
|
|
iuwwufjsd 发表于 2018-12-4 06:51 没有一个想法,为什么PSoC发送错误的命令或有时相同的字节?(我上传了完整的项目) 定时问题? 我可以改变程序,并将SPI通信分成2个包…像: 包装1 0x11 0x22 0x33 0x44 . …时延 . 包装2 0x55 0x66 编辑:我发现了问题。这是中断“RX FIFO中断不是空”…当我设置 RX缓冲区大小4 TX缓冲区大小6 一切都很好。 SPN-PNG 26.6 K 以上来自于百度翻译 以下为原文 noone an idea, why the psoc sends the wrong order or sometimes the same byte ? ( i have upload the complete project ) timing problems ? I could change the program and divide the spi communication into 2 packages ... like : Package 1 0x11 0x22 0x33 0x44 . ... time delay . Package 2 0x55 0x66 Edit: I found the problem. It is the interrupt "Interrupt On Rx FIFO Not Empty"... when i set the Rx Buffer Size 4 Tx Buffer Size 6 everything works well.
|
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2106 浏览 1 评论
1853 浏览 1 评论
3671 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
572浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
424浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
438浏览 2评论
386浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
916浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 01:51 , Processed in 0.797243 second(s), Total 50, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号