找回密码
 立即注册
楼主: JimOrange

STC32G12k128K 学习开始,打卡中~实验箱收到了~ !

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2025-04-22 08:32:33

9

主题

76

回帖

537

积分

高级会员

积分
537
发表于 2024-3-21 18:15:25 | 显示全部楼层
本帖最后由 JimOrange 于 2024-3-21 18:41 编辑

第二十九集:SPI读取FLash芯片。W25X40CL简介。(我用的是W25Q32FV, 一个Page有256个字节,一个Sector有16个Page,一个Block有16个Sector,而这个Flash有0x3F个Block,也就是64个)。
写入使能 06h、读取状态寄存器 05h、写入数据(一个page)02h、读取数据  03h、Sector擦除 20h

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2025-04-22 08:32:33

9

主题

76

回帖

537

积分

高级会员

积分
537
发表于 2024-3-21 20:04:14 | 显示全部楼层
本帖最后由 JimOrange 于 2024-3-21 23:47 编辑

第三十集:软件模拟IIC.
IIC是一种双向二线的串口通信。一个时钟线(SCK),一个数据线(SDA)。通过地址区分从设备。
1. 主机在空闲的时候(即SCK和SDA都是高电平),需要新发送一个start信号(SCK为高,SDA由1变为0)
2. 发送7个位的地址,和一位的读/写信号(0为写,1为读)。总共8位,一个字节的。
3. 会收到应答信号(ACK = 0);
4. 发送一个数据都会等待一个应答;重复。。。
5.当发送完成,就发送End信号(SCK为高,SDA由0变为1)


数据的传输:
SCL为低电平,才允许SDA变化。 如果SDA变化好了,等SCL为高电平(1),此时SDA电平要保持,直到SCL为低电平(0)。


起始信号:


截屏2024-03-21 21.55.39.png

发出ACK信号:

ACK(SDA = 0)、NO_ACK(SDA = 1)
截屏2024-03-21 21.56.15.png
等待从机应答:
先拉高SDA,然后再读取SDA,如果SDA等于0,表示正确,否则为错误。
截屏2024-03-21 21.55.54.png

停止信号:


截屏2024-03-21 21.56.15.png

地址:A2、A1、A0默认都接地,所以都为0. AT24C02默认地址格式:0x 1 0 1 0 A1 A2 A3 R/W(0为写入,1位读取)
读取地址:0xA1, 写入地址:0xA0
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-7 03:39 , Processed in 0.139549 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表