历史上的今天
今天是: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数据
史海拾趣
|
诞生于1965年的摩尔定律(Moore\'s Law)今日仍然是电子产业奉行的圭臬(其实称之为“定律”是个谬误,它只算是一个推论,像F=ma这种公式才是真正的定律。);依循该定律,芯片业残酷地追求更小的产品尺寸、更高的密度、更大片的晶圆与更多的芯片产出 ...… 查看全部问答> |
|
各位大侠好,小弟最近把2440官方bsp的eboot阶段调试过了,现在有个问题我用usb下载nk.nin后能正常启动wince,能看到wince界面了。但是复位后有时候可以正常启动(这是正常的情况),但是我sysgen后nk大小可能发生了些变化,今天下载nk.bin后,nboot都 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:40 编辑 mcbsp的数据传输有三种方式,其中一种是查询方式,假如我们只传一个32bit的数,数据从一片DSP的DXR发送出去.通过另一片的DRR接收,但实际上我只看到DXR上有数,在接收方的DRR上看不到要传输数,请问高人给指 ...… 查看全部问答> |
|
下面的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 ...… 查看全部问答> |




