赞
踩
源码下载:GitHub - Redamancy785/FPGA-Learning-Record: 项目博客:https://blog.csdn.net/weixin_51460407
移位的同时,也在进行采样。
结合数据手册分析,时序可以是如下两种情况:
即SPI可以工作在两种模式之中:
具体分析两种工作模式:
发现00模式下,SS信号短暂的拉高是有害的,所以00模式需要手动SS:
管脚约束中有些管脚没有使用到,为了避免在分析综合时报错,要在xdc文件的最开始加入如下代码,即可编译通过。
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
使用应用库编写代码:
以上编译库是小梅哥为开发板提供的应用库,直接添加到自己的工程中即可。可自行下载:
【ACZ7015】ACZ7015型ZYNQ+PCIE开发板用户自助服务手册 - ACZ7015开发板 - 芯路恒电子技术论坛 - Powered by Discuz!
- #include "COMMON.h"
-
- int main()
- {
-
- //初始化SPI0设备,设为主机模式 11 模式
- PS_SPI_Init(&SPI0, XPAR_XSPIPS_0_DEVICE_ID, XSPIPS_CLK_PRESCALE_8,
- XSPIPS_MASTER_OPTION | XSPIPS_CLK_PHASE_1_OPTION | XSPIPS_CLK_ACTIVE_LOW_OPTION);
- //用于存储数码管的编码值,依次为0,1,2,3,4,5,6,7,8,9,-,.
- uint8_t Seg_Code[12] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x7F};
- //{段选,位选} 赋予初值,数码管编码CH- 0.000
- uint8_t Dig_Data[8][2] = {{0xC6,0x80},{0x89,0x40},{0xBF,0x20},{0xFF,0x10},
- {0x40,0x08},{0xC0,0x04},{0xC0,0x02},{0xC0,0x01}};
- while(1)
- {
- uint16_t i;
-
- if(i<8){
- PS_SPI_Transfer(&SPI0, 0, 0,Dig_Data[i], 2);
- i++;
- }
- else
- i = 0;
-
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。