爷青回!几毛钱的51单片机都内置I2C硬控制器了,耍一下!

admin 2025-05-24 197人围观 ,发现204个评论

最近想用小MCU做个小玩意,发现STC单片机居然也有库函数了,支持库函数开发了?天了个噜的。年纪真是大了,随即看了一下,还是看寄存器比较通透,库函数整得太绕了。

随即发现,STC8G单片机内部集成了I2c控制器,总得与时代同步才行吧。

毕竟不是做嵌入式开发的,编程能力还停留在学生时代。代码还是能看一通的。看了一下规格书带的例子,趁机把I2C总线的知识串一下吧。相关寄存器就这几个,涉及读写啊,状态啊,数据缓冲器什么的,要是对I2C比较了解的话,上手算是比较简单的。读写数据都是通过寄存器。按照时序就能完成功能,真是方便太多了。

手册中提到了一个读写AT24C256-EEPROM的例程。实现了如下的两个操作。

I2C写操作流程

I2C随机读流程

看下代码实现。。。

定义寄存器地址:这个在最新头文件都有,不用管

通过,操作寄存器,定义收发数据,应答,读写等函数。

main函数中,初始化I2C控制器,包括速度啊,IO接口啊,主从啊,之类的。然后根据前面提到的AT24C256的时序依次执行相关函数。

以写数据为例子,对应:

开始,写设备地址,等待应答,写寄存器地址,等待应答,写数据,等待应答,停止。

I2C写操作流程

某宝已经购入了STC8G系列单片机,找某立创免费打个板子,玩嘛。

猜你喜欢
    不容错过