找回密码
 立即注册
查看: 1453|回复: 4

STC8G1K17A的困惑

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2025-02-15 01:13:47

2

主题

15

回帖

260

积分

中级会员

积分
260
发表于 2023-8-14 21:44:52 | 显示全部楼层 |阅读模式
本人新手,学单片机玩。先买了一片STC15W204S,SOP8的,感觉挺好玩,这么小的一个芯片,不需要任何外围元件,可以做很多事情。

最近试了一下I2C总线的128*32的OLED屏显示,用I2C的SHT30做了个温湿度计。运行挺正常,就是OLED的字体数据太占空间了,4K的程序空间捉襟见肘。
后来看STC8G1K17A和15W204S的引脚完全一样,程序存贮空间有17K,就买了几片更换。
结果换上去后,发现程序根本不能正常运行,连最基本的IO输出点LED灯都点不亮
后来发现要在程序一开始加了几条语句,先把IO口设置成准双向IO口才行。

    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;

困惑一:STC8G1K17A芯片上电初始化时IO口不是准双向口吗?
然而,OLED可以正常工作了,SHT30却无法正常工作,在I2C write command函数时会NOACK。我这两个I2C设备分别使用P3^2和P3^3, P5^4和P5^5作为SCLK1,SDA1,SCLK2,SDA2,在15W204S和HE-6800(STC90CRD+芯片)试验板上都工作正常。(时钟频度都选的11.0592MHz)
我在程序里和接线上交换了OLED和SHT30使用的IO口,仍然是OLED可以工作,SHT30无法工作。
问题出在哪呢?是不是两个芯片的指令有什么区别吗?
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16661
发表于 2023-8-14 22:14:43 | 显示全部楼层
1.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2800

积分

荣誉版主

积分
2800
发表于 2023-8-15 07:17:29 | 显示全部楼层
I2C的所有设备都可以挂在同一条总线上,通过不同地址访问不同设备。他和串口不一样。没必要弄两套scl sda

8G系列和15系列速度不一样,有时候要调整代码




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2025-02-15 01:13:47

2

主题

15

回帖

260

积分

中级会员

积分
260
发表于 2023-8-15 07:37:43 | 显示全部楼层

这个规则,是STC8G1K系列才有的吧?是不是15W204S不需要这样?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2025-02-15 01:13:47

2

主题

15

回帖

260

积分

中级会员

积分
260
发表于 2023-8-15 07:43:57 | 显示全部楼层
gentl*** 发表于 2023-8-15 07:17
I2C的所有设备都可以挂在同一条总线上,通过不同地址访问不同设备。他和串口不一样。没必要弄两套scl sda

...

对I2C还不是太熟悉,代码都是复制再修改的,下一步我试试设备接在同一个总线上。
我猜是SHT30代码里的延时函数在不同的芯片上运行结果不同。试着调不同晶振频率,用24M,连OLED都不能正常工作了。但是调到最低,SHT30也不能工作。
在STC90CRD+上,运行速度明显比15W204慢好多倍,但是能工作。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 15:16 , Processed in 0.157093 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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