历史上的今天
返回首页

历史上的今天

今天是:2025年02月23日(星期日)

正在发生

2021年02月23日 | stm32F4之用示波器解码I2C协议

2021-02-23 来源:eefocus

当我们调试I2C的时候,有时候我们并不清楚,I2C协议有没有正常工作,借助示波器,我们可以很直观的看到通过I2C协议发出数据。所以掌握示波器对I2C进行解码也是很重要的,这里我使用的是 SIGLENT 公司的示波器,型号为 SDS 1202X,支持I2C,SPI解码等。


一.用示波器解码I2C的相关代码

主函数代码


int main(void)

{

    u8 read; 

//初始化延时函数

delay_init(168);

//初始化串口

usart_init(115200);

//初始化24c02

    Init_24c02();

 

while(1)

{

sendOneByte(0x00,0x20);

read=receiveOneByte(0x00);

USART_SendData(USART1,read);

    delay_ms(1000);

}

 

}

24c02实现读写的代码


void Init_24c02()

{

 

IIC_init();

 

}

//发送一个字节的数据

void sendOneByte(u8 Adddr_send, u8 data_send)

{

IIC_start();

IIC_Send_Byte(0xA0);

IIC_Wait_Ack();

IIC_Send_Byte(Adddr_send);

IIC_Wait_Ack();

IIC_Send_Byte(data_send);

IIC_Wait_Ack();

IIC_stop();

delay_ms(10);

}

//接收一个字节的数据

u8 receiveOneByte(u8 Addr_receive)

{

u8 receive=0;

IIC_start();

IIC_Send_Byte(0xA0);

IIC_Wait_Ack();

IIC_Send_Byte(Addr_receive);

IIC_Wait_Ack();

IIC_start();

IIC_Send_Byte(0xA1);

IIC_Wait_Ack();

receive=IIC_Read_Byte(0);

IIC_stop();

return receive;

}


二.示波器的使用

1.先设置解码参数,点击右边的decode,屏幕下方就会出现几个选项,选择串行总线1,IIC解码,信号源设置(设置CH1为SCK,CH2为SDA),地址7位,指得是设备地址,显示开启(可以看到解码出来的数据)

 2.设置解码触发

点击下图中的触发设置

 选择总线1(与之前选的解码总线保持一致),触发条件为开始条件

 方法一,此时若要捕捉,可以先按解码,然后按触发中的normal,然后上电,若操作正常,应能捕捉的到(本程序是一直循环,方便捕捉)

方法二:在已上完电的情况下,点击auto,左右旋转Horizontal键,找到适当的地方(可以看到数据在传输),点击normal,也可以解码触发

 这样就可以在示波器上,看到解码的I2C数据

推荐阅读

史海拾趣

EPC公司的发展小趣事

某EPC公司始终将品质放在首位,建立了完善的质量管理体系和严格的质量控制标准。公司注重从源头上控制产品质量,通过严格筛选原材料、加强生产过程监控和检测等措施,确保产品的稳定性和可靠性。同时,公司积极响应客户需求和反馈,不断改进产品和服务质量,赢得了客户的广泛赞誉和信赖。凭借卓越的品质和口碑效应,公司逐渐在电子行业中树立了良好的品牌形象。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

2005年,重庆平洋电子有限公司迎来了一个重要的合作机会。经过严格的筛选和谈判,公司与海尔集团达成了先期采购协议,成为海尔集团在重庆市唯一一家免第三方认证的企业。这一合作不仅为公司带来了稳定的订单和收益,还进一步提升了公司的品牌影响力和市场竞争力。

柯爱亚(ceaiya)公司的发展小趣事

在稳固国内市场的同时,柯爱亚积极寻求海外市场的发展机会。公司不仅参加了多个国际电子展览会,还与国际知名企业建立了合作关系。此外,柯爱亚还通过投资、并购等方式,不断拓展业务范围,实现了多元化发展。这些举措使柯爱亚在国际市场上的影响力逐渐增强。

GTE Microcircuits公司的发展小趣事
复合放大器因其高性能特点,在通信、音频、医疗、测试测量等多个领域有广泛应用。例如,在通信系统中用于信号放大和处理;在音频设备中用于提高音质和音量;在医疗设备中用于生物电信号的放大等。
Compact公司的发展小趣事

近年来,电子行业经历了多次技术变革和市场洗牌。面对这些挑战,Compact公司积极调整战略,加大研发投入,以适应市场变化。同时,公司还通过优化生产流程、降低成本等方式提高竞争力。在行业变革中,Compact公司不仅成功应对了挑战,还抓住了机遇,实现了跨越式发展。

Bud Industries公司的发展小趣事

随着全球环保意识的提高,电子行业对环保和可持续发展的要求也越来越高。Compact公司积极响应这一趋势,加大环保投入,采用环保材料和工艺,降低生产过程中的能耗和排放。同时,公司还致力于推动循环经济的发展,通过回收和再利用废旧电子产品,减少资源浪费和环境污染。这一举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

请注意,以上故事仅为示例,并不代表任何真实存在的企业情况。如果需要关于特定企业(如Compact公司)的准确信息,建议查阅相关公司的官方资料、行业报告或新闻报道。

问答坊 | AI 解惑

常用的几种串口软件

我常用的几种串口软件!…

查看全部问答>

观点:摩尔定律其实是半导体产业的不幸

诞生于1965年的摩尔定律(Moore\'s Law)今日仍然是电子产业奉行的圭臬(其实称之为“定律”是个谬误,它只算是一个推论,像F=ma这种公式才是真正的定律。);依循该定律,芯片业残酷地追求更小的产品尺寸、更高的密度、更大片的晶圆与更多的芯片产出 ...…

查看全部问答>

台灯

这我是改的台灯…

查看全部问答>

液晶为什么不显示

公司让我搞一个项目,没有办法,必需学单片机子,我刚刚学习单片机,想用1621驱动一个段式液晶,找了很多程序资料,也写了四天了,可就是不显示,请高手指点一下!看是我哪里出了问题,谢谢了!字段式的,用在计数上; //1621引线:CS:PD4  ...…

查看全部问答>

2440官方bsp调试问题请教??

各位大侠好,小弟最近把2440官方bsp的eboot阶段调试过了,现在有个问题我用usb下载nk.nin后能正常启动wince,能看到wince界面了。但是复位后有时候可以正常启动(这是正常的情况),但是我sysgen后nk大小可能发生了些变化,今天下载nk.bin后,nboot都 ...…

查看全部问答>

请教:mcbsp传输

本帖最后由 dontium 于 2015-1-23 13:40 编辑 mcbsp的数据传输有三种方式,其中一种是查询方式,假如我们只传一个32bit的数,数据从一片DSP的DXR发送出去.通过另一片的DRR接收,但实际上我只看到DXR上有数,在接收方的DRR上看不到要传输数,请问高人给指 ...…

查看全部问答>

开关电源设计

本帖最后由 paulhyde 于 2014-9-15 04:02 编辑 开关电源设计秘籍  …

查看全部问答>

下面的VHDL中时钟clk是变量,不是输入量,结果出现错误?为什么啊?怎么编啊?

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library U ...…

查看全部问答>

明天TI杯正式开始,亲们准备好了吗?

明天TI杯正式开始,我准备裸赛了。。。。…

查看全部问答>