漱口杯什么材质好| 上海为什么叫魔都| 晚上喝什么茶好| 榨菜炒什么好吃| 打蛋器什么牌子好| 黑色柳丁是什么意思| 旁支是什么意思| 重庆有什么特产| 极核是什么| 8.1号是什么星座| 胃不舒服吃什么药好| 复仇者用什么武器| 死心眼什么意思| 吃什么对脑血管好| 什么狗聪明听话又好养| 子宫肌瘤伴钙化是什么意思| 三月初六是什么星座| 看牙齿挂什么科| cn是什么单位| 789是什么意思| michaelkors是什么牌子| 红薯用什么繁殖| 寒湿体质吃什么中成药| 北京豆汁什么味道| 肋间神经痛什么症状| 高铁和地铁有什么区别| 中国属于什么亚| 白带黄绿色是什么炎症| 10点多是什么时辰| 雌激素是什么意思| 什么食物补锌效果最好| 静态纹用什么除皱| 大腿内侧发黑是什么原因| 九月一号是什么节日| 一什么水花| 93年是什么年| 婚检都查什么| 胃胀胃不消化吃什么药| 月经量极少几乎没有是什么原因| 98年虎是什么命| espresso什么意思| 给孩子测骨龄应该挂什么科| 三板斧是什么意思| 糖皮质激素是什么| 无国界医生是什么意思| 除服是什么意思| 胆固醇和血脂有什么区别| 孩子说话晚是什么原因| 结节钙化是什么意思| 姓蓝的是什么民族| 喜欢咬指甲是什么原因| 孕妇吃榴莲对胎儿有什么好处| 沉香是什么东西| 眼睛有血丝是什么原因| 眼球发黄是什么原因| 什么情况下打破伤风| 蚊子喜欢什么味道| pt950是什么金| 7月15号是什么星座| 白凉粉是什么| 支付宝提现是什么意思| 冬是什么结构| 溲黄是什么意思| 尿酸高有什么症状| 疯马皮是什么皮| 乙肝病毒表面抗体弱阳性什么意思| 胃痛可以吃什么| 流清鼻涕是什么原因| 放浪形骸是什么意思| 纹身纹什么招财好运| 卷宗是什么意思| 老人经常头晕是什么原因引起的| 项羽为什么不杀项伯| 乌鸡白凤丸适合什么人吃| 加百列是什么天使| 韩国是什么民族| 西布曲明的危害及副作用分别是什么| 血液科是看什么病| 什么叫子宫肌瘤| female是什么意思| 小登科是什么意思| 下午右眼跳是什么预兆| 2019年属什么| 德艺双馨是什么意思| 舌苔厚是什么原因引起的| 双龙什么| 为什么故宫龙椅坐不得| 什么什么千山| 舌边有齿痕是什么原因| 什么动物最安静| 眼镜框什么材质的好| 大德是什么意思| 95年属什么的| 右侧卵巢囊性结构是什么意思| 海蓝之谜适合什么肤质| 什么布剪不断| 神机妙算是什么生肖| 什么是辐照食品| 血容量不足是什么意思| 6月20号是什么星座| 秋高气爽是什么意思| 三月生日是什么星座| 梦到男朋友出轨了预示什么意思| 腋窝疼是什么原因| 母亲节送母亲什么礼物| lsd是什么| 2038年是什么年| 女人脾肾两虚吃什么好| 吐奶严重是什么原因| 不怀孕需要做什么检查项目| 突然低血压是什么原因造成的| ehe是什么牌子| 德艺双馨什么意思| 小排畸是什么检查| 日本艺伎是干什么的| 脖子上有痣代表什么| c反应蛋白低说明什么| 娘娘命是什么样的命| 梦见自己爬山是什么意思| 肌无力是什么原因引起的| 屋尘螨和粉尘螨是什么| 思想感情是什么意思| 楠字取名有什么寓意| 陶渊明是什么朝代的| 濯清涟而不妖的濯是什么意思| 脖子上长痘痘是什么原因| 北洋军阀是什么意思| 一凉就咳嗽是什么原因| 此物非彼物是什么意思| 暑假什么时候放| 依西美坦最佳服用时间是什么时间| 胡萝卜什么时候种植| 什么食物养肝护肝最好| 心什么气什么| 看脊椎挂什么科| 艾灸是什么意思| 肾错构瘤是什么病| wonderflower是什么牌子| 曹操是什么帝| 焦虑症吃什么| 撕漫男是什么意思| 车标是牛的是什么车| 农历12月是什么月| 孔雀吃什么食物| 地黄长什么样子图| 金庸原名叫什么| 手忙脚乱是什么意思| 什么的油菜花| 366是什么意思| 锻炼pc肌有什么好处| 秋葵与什么菜相克| 禄神是什么意思| 前列腺有什么作用| cpi什么意思| 8月1日什么星座| 油光满面是什么意思| 月经有黑色血块是什么原因| 牛冲什么生肖| dp什么意思| 羊奶粉和牛奶粉有什么区别| fashion是什么意思| 广字五行属什么| 脸黑的人适合穿什么颜色的衣服| 五月十三是什么星座| 1999年发生了什么事| 用盐泡脚有什么好处| 凯格尔运动是什么| 92年1月属什么生肖| 无能为力是什么意思| 湿气重有什么表现症状| 什么是磁共振检查| uv是什么| 21岁属什么| 皮炎吃什么药| 经常梳头有什么好处| 晕车吃什么好| 爱的反义词是什么| 痛经是什么感觉| 五行属土缺命里缺什么| 基因是什么| picc什么意思| 吃什么补充维生素c| 什么的浪花| 1968年什么时候退休| 疾控中心是干什么的| 梦见小白兔是什么意思| 造孽是什么意思| 吃什么最补血而且最快| 什么是正颌手术| 乳头经常痒是什么原因| 江河日下是什么意思| 专技十三级是什么意思| 植入是什么意思| mri检查是什么意思| 六味地黄丸有什么副作用吗| 白内障什么症状| 右下腹有什么器官| 月季花什么时候开| 小淋巴结是什么意思| 孕妇吃黑芝麻对胎儿有什么好处| 一月来两次月经是什么原因| 渐入佳境什么意思| 望惠存是什么意思| 八月出生的是什么星座| 蛮什么意思| 龟兔赛跑的故事告诉我们什么道理| 头眩晕是什么原因引起的| 肝内胆管轻度扩张是什么意思| 精液发黄是什么原因引起的| 发际线长痘痘是什么原因| 阴囊瘙痒用什么药最好| 身上长癣是什么原因| 淀粉是什么粉| 1966年属什么今年多大| 中叶是什么意思| 胃疼应该挂什么科| 独生子女证有什么用| 特性是什么意思| 葫芦什么时候成熟| 木瓜和什么不能一起吃| 搬家送什么礼物最好| 银行卡年费是什么意思| 甲泼尼龙是什么药| 天是什么结构的字| 9月18日是什么日子| 韬光养晦下一句是什么| 水洗真丝是什么面料| 鹦鹉为什么会学人说话| 木薯粉是什么东西| 房性逸搏心律是什么意思| 荷叶泡水喝有什么作用| 睡觉流眼泪是什么原因| cosplay是什么| 梦见自己拉了很多屎是什么意思| 最近爆发什么病毒感染| 炖牛肉不能放什么调料| 盐水洗脸有什么好处| 不知道饿是什么原因| 梅毒查血查什么项目| 缘定三生是什么意思| 什么是锆石| 肺有问题会出现什么症状| 皮下出血点是什么原因| 扁的桃子叫什么名字| 防弹衣是由什么材料制成的| 便秘和腹泻交替出现是什么意思| 吟诗作赋是什么意思| 山楂炖肉起什么作用| 作灶是什么意思| asd什么意思| 眼睛红肿是什么原因| 房水由什么产生| 女娲补天是什么生肖| 病态是什么意思| 八九不离十是什么意思| 黄飞鸿代表什么生肖| 什么东西能加不能减| 肚子咕噜咕噜响是什么原因| 腿肿吃什么药| 李白为什么叫青莲居士| 左胸上方隐痛什么原因| 李小龙和丁佩什么关系| 是什么元素| 读什么| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 活动中心 ? 板卡试用 ? 【分享开发笔记,赚取电动螺丝刀】STC32G12K128单片机以I2C外设访问A

共8条 1/1 1 跳转至

【分享开发笔记,赚取电动螺丝刀】STC32G12K128单片机以I2C外设访问AT24C04存储器 21

专家
2025-08-04 19:33:09     打赏
百度 代表们认为,计划报告和预算报告全面贯彻习近平新时代中国特色社会主义思想和党的十九大精神,通篇贯穿稳中求进工作总基调和新发展理念,准确把握供给侧结构性改革这条主线,集中体现“稳”和“进”的辩证统一,是对政府工作报告的具体展开和落实,是求真务实、惠民利民的好报告。

在学习国芯Ai8051U单片机的I2C外设的时候,例程始终没有跑通。感觉在芯片构造上,Ai8051U与STC32G12K128应该差不多,于是回过头来研究STC32G12K128,使用其I2C外设读写AT24C04。

图片1.png

在读写AT24C04时,WordAddress只需要一个字节就够了。以读操作为例:

AT24C04的任意地址的读操作:

图片2.png

通讯时序中红色标记的P0位置的值,决定访问AT24C04的前后两个256字节中的哪个页。(AT24C04为512字节空间,被划分为两个页,WordAddress是一个字节)。

使用I2C外设作为主机使用时,读写操作中,开始信号、结束信号、收发数据以及Ack、NAck信号,都是通过向I2CMSCR(主机控制寄存器)这个寄存器发送不同的指令来实现的。

测试使用了最简单的电路连接,由STC32G12K128核心板和自制面包板搭建,


原理图如下:

图片5.png

I2C外设使用P2.4和P2.5复用为SCL和SDA。为了便有验证测试结果,使用了串口2(使用P4.6和P4.7)作为log输出。

I2C 配置寄存器(I2CCFG)设置为0xe0,

图片6.png

ENI2C = 1 :表示使能I2C外设

MSSL = 1 :表示工作为主机模式

MSSPEED =100000 :根据公式:I2C 总线速度=SYSCLK / 2 / (MSSPEED * 2 + 4),本例中SYSCLK 为单片机的工作主频,预设为22118400Hz,所以I2C的通讯速度应该是162KHz,实际测试是82KHz左右,似乎是差一倍,原因还没有搞清楚。

主程序中的处理逻辑是采用读-----加一后回写-----再读的方式运行的。



    //-----------------------读取数据-----------------------
    IIC_Read_NByte(SLAVE_24C04,0,dat,5);
    for( i=0;i<5;i++ ) {
        sprintf(str,"地址:%d,值:%d\r\n",i,dat[i]);
        PrintString2(str);
    }
    PrintString2( "读取结束\r\n");
    delay_ms(200);
    //-----------------------写入修改后的数据-----------------------
    for( i=0;i<5;i++ ) {
        dat[i] = (dat[i] +1);
    }
    IIC_Write_NByte(SLAVE_24C04,0,dat,5); 
    delay_ms(200);
    //-----------------------读取数据-----------------------
    IIC_Read_NByte(SLAVE_24C04,0,dat,5);
    for( i=0;i<5;i++ ) {
        sprintf(str,"地址:%d,值:%d\r\n",i,dat[i]);
        PrintString2(str);
    }
    PrintString2( "测试结束\r\n");

实际运行中通过逻辑分析仪铺捉到的I2C通讯逻辑波形如下所以,可以看到有三个明显的I2C通讯过程,就是读-写-读的三组时序。AT24C04事先通过编程器将前八个单元的数据改成了1,2,3,4,5,6,7,8。经过几次测试,数据已经被程序改变成现在的这个样子。

图片7.png


读入的数据时6,7,8,9,10

图片8.png

分别加一后,变成7,8,9,10,11,重写回原来的单元,

图片9.png

再次读取后显示为7,8,9,10,11。

图片10.png

来自串口的log信息:

图片11.png


工程代码:i2c.zip




专家
2025-08-04 20:33:56     打赏
2楼

感谢不想


专家
2025-08-04 20:37:37     打赏
3楼

感谢不想


专家
2025-08-04 20:40:20     打赏
4楼

感谢不想


高工
2025-08-04 15:03:28     打赏
5楼

奇怪了,你板子并没有外挂晶振,sysclk是22m左右是怎么算出来的?用的内部高速IEC二分频分出来的?


高工
2025-08-04 09:11:40     打赏
6楼

I2C 读写验证通信功能正常,总线的波形也可以看出对应的时序,对于理解I2C时许很有帮助


专家
2025-08-04 16:02:21     打赏
7楼

相信很多同学多iic深有感触。

当年stm32出了不少gpio模拟的例子。


院士
2025-08-04 18:17:12     打赏
8楼

这款MCU的I2C外设分频看来是没有分数模式。

不过,I2C对主机通讯频率的容忍度还是挺高的



共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
寒门子弟是什么意思 92属什么 cta什么意思 什么人生病不看医生 尿潜血十一是什么意思
复机是什么意思 诙谐幽默是什么意思 南京有什么玩的 dpm值阳性什么意思 女性脉弦是什么意思
吃什么能提高血压 静脉炎的症状是什么 眼袋肿了是什么原因 秦昊的父母是干什么的 幻觉妄想状态是什么病
名不见经传是什么意思 升结肠管状腺瘤是什么意思 头发热是什么原因 脚气用什么药好 什么是正缘
心慌是什么原因导致的hcv9jop7ns3r.cn 裸贷是什么意思naasee.com 水嘴是什么hcv8jop1ns6r.cn 表面抗原阳性是什么意思hcv9jop1ns2r.cn 医院手环颜色代表什么hcv8jop8ns3r.cn
好吃懒做的动物是什么生肖hcv7jop6ns8r.cn 91年出生的属什么bjcbxg.com 电影监制是做什么的hcv9jop6ns7r.cn hbv是什么意思hcv8jop2ns8r.cn 胸口容易出汗是什么原因hcv8jop8ns0r.cn
胃溃疡吃什么药好得快xjhesheng.com 小孩的指甲脱落是什么原因hcv8jop0ns3r.cn 喝菊花茶有什么好处hcv9jop4ns1r.cn emma是什么意思hcv8jop2ns4r.cn 12月15是什么星座hcv8jop1ns6r.cn
肝功能异常是什么hcv7jop6ns0r.cn 什么是伤官见官hcv7jop5ns3r.cn 什么是全麦面粉hcv8jop2ns8r.cn 寒门子弟是什么意思hcv7jop7ns4r.cn 淋巴净排是什么服务hcv8jop5ns1r.cn
百度