首页 > 其他分享 >zynq系列之-----PS端iic使用

zynq系列之-----PS端iic使用

时间:2022-11-17 21:59:44浏览次数:73  
标签:Status PS senddata iic val unsigned ----- Iic

本文主要讲述zynq的iic使用。此IIC只能作为主站,作为从站的不适合本文。

Iic的接口在ps端。(iic的接口在pl端的情况下,不适合本文)

使用软件版本:vivado2018.3

pl端设置:

转载:xilinx平台中zynq的PS端iic使用_hhh_fpga的博客-CSDN博客_zynq 模拟iic

欢迎转载!

ps端:

1、初始化操作

2、写操作

使用函数“XIicPs_MasterSendPolled(&Iic, senddata, len, addr)”

定义一个u8 senddata[6];

senddata[0] = reg;   寄存器地址

senddata[1] = val; 数据内容

&lic:设备地址,

senddata:寄存器地址和写内容

len:写入数据的长度

addr:是iic器件地址。

3、读操作

XIicPs_MasterRecvPolled(&Iic, val, len, addr);

&lic:设备地址,

Val: 读取的数据内容

len:读取数据的长度

addr:是iic器件地址。

对于读函数,需要在注意的地方在于需要根据实际设备的读时序进行封装,直接调用这个函数可能不会成功。

在这个时序中可以看出,我们是先发送一个写动作,但没有实际数据写入,然后在发送一个读指令。在sdk中写函数和读函数是分开的,所以我们在读取数据时,可能跟我们在使用模拟iic操作的时候不太一样。

unsigned char IIC_read_reg(unsigned char address, unsigned char reg)

{

unsigned char val;

int Status;

unsigned char senddata[6];

senddata[0] = reg;

Status = XIicPs_MasterSendPolled(&Iic, senddata, 1, address);

if (Status != XST_SUCCESS)

{

printf("IIC Master integerReg Wirte Failed\r\n");

return XST_FAILURE;

}

while(XIicPs_BusIsBusy(&Iic));

Status = (si0_iic_read(&val,2,address));

if (Status != XST_SUCCESS)

{

printf("IIC Master integerReg Read Failed\r\n");

return XST_FAILURE;

}

return (val);

}

嘻嘻嘻。

标签:Status,PS,senddata,iic,val,unsigned,-----,Iic
From: https://www.cnblogs.com/amxiang/p/16901096.html

相关文章

  • JavaScript对象-RegExp1、RegExp2
    JavaScript对象-RegExp1 RegExp:正则表达式对象1、正则表达式:定义字符串的组成规则1.单个字符:[]如:[a][ab][a-zA-Z][0-9_]特殊符号代表特殊含义的单个字符:\ld:......
  • vulnhub靶场OS-ByteSec
    0x000靶场描述难度:中级flag:2个flag第一个用户和第二个root学习:利用|中小企业|枚举|速记|权限提升联系:https://www.linkedin.com/in/rahulgehlaut/0x001靶场下载......
  • JavaScript对象-Global
    1.特点:全局对象这个Global中封装的方法不需要对象就可以直接调用方法名2.方法encodeURI():url编码decodeURI():url解码encodeURIComponent():url编码,编码的字符更......
  • HTTPS的优点和缺点解析
    https改造有什么好处?对于这个问题,站长首先想到应该是网站安全问题,可以说网站安全问题其实是个大问题,主要表现在以下方面:1、首页会被篡改,非法跳转;2、网站被灌入广告,但收入......
  • Selenium4+Python3系列(七) - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作
    前言突然,想把所有之前未更新的常用Api操作、演示写出来,算是对API的一种完结吧。下面按照Api模块来做逐一介绍。一、iframe操作iframe识别:语法:driver.switch_to.fram......
  • vulnhub靶场Os-hackNos-2
    0x000靶场描述难度:简单到中级flag:2个flag第一个用户和第二个根学习:Web应用程序|枚举|密码破解0x001靶场下载https://www.vulnhub.com/entry/hacknos-os-hac......
  • vulnhub靶场Os-hackNos-3
    0x000靶场描述难度:中级flag:2个flag第一个用户和第二个root学习:Web应用程序|枚举|权限提升网站:www.hacknos.com联系我们:@rahul_gehlaut0x001靶场下载https......
  • Django-写第一个页面
    Django-写第一个页面文件结构进入到/acapp/game下新建urls.py和templages/touchurls.pymkdirtemplates之后写项目基本上就只在urls.py、models.py、views.py、te......
  • 计算机二级考试公共基础知识部分——-数据库
    相关视频——【极客学院】计算机等级考试二级c语言:公共基础知识部分(下)_哔哩哔哩(゜-゜)つロ干杯~-bilibili我的小站——[半生瓜のblog](半生瓜のblog(doraemon2.xyz))现......
  • 【链表】双向循环带头链表-增-删-查(C语言)
    我的小站——半生瓜のblog——同步更新单链表存在的缺陷:不能从后往前走,找不到他的前驱,指定位置删除增加尾删都要找前一个,时间复杂度都是O(n)针对上面的这些缺陷的解决......