完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我想从Arduino MASTER向SPI(PS)中的Zynq(MicroZed Board)SLAVE发送数据(多个字节) Arduino发送任何数据都不正确,但Zynq上的接收卡在轮询rx缓冲区do-while循环中,当其中一个包含其他字节而不是以下字节时: 0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF 我在Web上发现了一些与我的问题相近的东西,但在不同的组件上(TC77 - 热传感器) 谢谢。 |
|
相关推荐
3个回答
|
|
PS:Zynq的接收和读取与这些值非常吻合。有些人对此限制(或接收其他字节的解决方案)有解释吗?
|
|
|
|
大家好,我也有同样的问题。
SPI配置有以下代码: int状态; XSpiPs_Config * SpiConfig; / * *初始化SPI驱动程序,以便它可以使用 * / SpiConfig = XSpiPs_LookupConfig(SpiDeviceId); if(NULL == SpiConfig){ 返回XST_FAILURE; } Status = XSpiPs_CfgInitialize(& SpiInstance,SpiConfig, SpiConfig-> BaseAddress); if(Status!= XST_SUCCESS){ 返回XST_FAILURE; } / * *默认情况下,SPI器件是从器件和时钟相位 *必须根据其主人设置。 在此示例中,设置了CPOL *至静止高,CPHA设为1。 * / Status = XSpiPs_SetOptions((& SpiInstance),(XSPIPS_CR_CPHA_MASK)|(XSPIPS_CR_CPOL_MASK)); if(Status!= XST_SUCCESS){ 返回XST_FAILURE; } / * *将时钟分配器设置为4的最小值 *根据数据表,最大从属频率应为SPI时钟/(时钟分频器* 2)= 200/8 = 25 MHz *这是25 Mbit * / Status = XSpiPs_SetClkPrescaler((& SpiInstance),XSPIPS_CLK_PRESCALE_4); / * *执行自检以检查硬件构建 * / Status = XSpiPs_SelfTest(& SpiInstance); if(Status!= XST_SUCCESS){ 返回XST_FAILURE; } / * *将Spi设备连接到中断子系统 *可能发生中断。 此功能特定于应用程序 * / Status = SpiPsSetupIntrSystem(& IntcInstance,& SpiInstance,SPI_INTR_ID); if(Status!= XST_SUCCESS){ 返回XST_FAILURE; } SPI作为从器件正确发送数据(它对“芯片选择”作出反应,并以正确的方式将所有位移位到“时钟”) 但没有收到任何东西.... 如果使用XSpiPs_PolledTransfer(),则控制器保持不变 / * *通过轮询Tx fifo状态等待转移完成。 * / CheckTransfer =(u32)0U; while(CheckTransfer == 0U){ StatusReg = XSpiPs_ReadReg( InstancePtr-> Config.BaseAddress, XSPIPS_SR_OFFSET); if((StatusReg& XSPIPS_IXR_MODF_MASK)!= 0U){ / * *清除模式失败位 * / XSpiPs_WriteReg( InstancePtr-> Config.BaseAddress, XSPIPS_SR_OFFSET, XSPIPS_IXR_MODF_MASK); 返回(第32条)XST_SEND_ERROR; } CheckTransfer =(StatusReg& XSPIPS_IXR_TXOW_MASK); } 永远因为StatusReg保持“0”。 有人可以提出错误可能的建议吗? 我忘记配置了什么吗? 提前致谢! |
|
|
|
嗨,
如果是的话,不确定您是否通过EMIO进行路由 当您通过EMIO路由时,可能不需要EMIO SPI_0或SPI_1下的所有信号。 你大多需要下面提到的信号 emio_spi0_m_o - > MOSI emio_spi0_m_i - > MISO emio_spi0_sclk_o - > CLK emio_spi0_ss_o_n - > SS 您需要在pcwand中扩展SPI0或SPI1端口,通过右键单击“make external”,将下面提到的四个信号作为外部引脚。 问候 普利文 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- |
|
|
|
只有小组成员才能发言,加入小组>>
2424 浏览 7 评论
2826 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3375 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1237浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
590浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
453浏览 1评论
2006浏览 0评论
732浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 15:53 , Processed in 1.509887 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号