收藏官网首页
查看: 43034|回复: 8

[求助] 【求助and分享】我申请的GoKit3,STM32底板的OLED CS可能有问题

3

主题

18

帖子

374

积分

中级会员

Rank: 3Rank: 3

积分
374
跳转到指定楼层
楼主
发表于 2017-6-6 14:39:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 SmilesVan 于 2017-6-6 18:26 编辑

之前一直困惑OLED的问题,最近终于有了一点进展,但又遇到一个问题,汇报如下:


问题:我申请的gokit3,STM32底板的OLED CS可能有问题
现象:通过万用表测试底板“CS/D10”与MCU STM32F103C8T6的PA4管脚不通(如下方过程详述)!!!

经过查阅资料,理论上应该是通的!通则不痛!我都折腾好久了,好痛苦,有人管吗?!!!
详述
【注】配图红色标记皆为OLED相关,看过分享的坛友可以略微举一反三GoKit3硬件周边设备的GPIO PIN定义,我已经验证过了,PS我也是硬件小白
1.通过文档 《gokit3功能板原理图V3.0》 终于看懂了点硬件图
gokit3功能板原理图V3.0.PDF (789.4 KB, 下载次数: 3)

下图“应该”代表各个**设备的连接,中间就是“连接定义”,不信看下下图


下图“连接定义”,右边就代表了“底板”的arduino接口定义


下图就是Arduino接口定义了


想知道OLED对于MCU的GPIO PIN定义,还得需要看下图硬件的丝印


2.开始研究GoKit3与OLED结合
配合下两图微雪的0.96寸蓝黄双色OLED,以及GoKit3功能版的OLED硬件接口

我终于懂了点:0.96寸OLED 通过 OLED接口 连接 功能板,功能板 通过 Arduino接口 与 MCU连接

问题来了,底板丝印的Arduino接口 D10-D13,无法还是无法判断 GPIO 的PIN定义!!!
只能看出D8对应PB6、D9对应的PB11!!!

于是平时的各种文档下载,各种搜肠刮肚派上用场:
STM32F103C8T6_datasheet中.pdf (1.82 MB, 下载次数: 4)

查阅底板MCU的datasheet,对照硬件图,发现STM32F103C8T6封装为LQFP 48(这个很重要!坛友!后续的万用表测量用得到!)


继续查MCU引脚定义,明确了D8/PB6、D9/PB11,见下两图


困惑来了!困惑来了!怎么确认[url=]D10-D13引脚编号和引脚名称呢?答案见下两图[/url]


3.狼来了

问题来了!问题来了!是SPI1对应的引脚?还是SPI2对应的引脚?


【注】Arduino接口定义中的SCK、CS,对应的就是MCU引脚功能SPI_NSS(片选)、SPI_SCK(时钟),MOSI、MISO,主从进出,尽管我也不甚了解,问问度娘就知道了对应没错!


经过万用表测量,D10-D13对应的就是SPI1的MCU引脚,而用万用表测量就需要LQFP 48和硬件实物对照方位和引脚编号了(蓝色标记


此时是一口老血接着一口老血啊!用万用表测试Arduino接口的D10和MCU的PA4居然不通啊!居然不通啊!
昨天晚上测量好几次,今天早上起床第一件事又测量好几次!就是不通啊!不通啊!
而D11、D12、D13都与对应MCU引脚的电阻显示为一点点电阻!通的啊!通的啊!
虽然通过此一遭,貌似懂了点硬件,但是D10和PA4不通,我TMD还能干点什么吗?!!

谨以此文纪念这两天的心路历程,也盼早日机智云的社区更上一层楼!
TMD,程序员玩死程序员!


附上微雪0.96寸蓝黄双色OLED + Open103R,排除OLED故障嫌疑

3

主题

18

帖子

374

积分

中级会员

Rank: 3Rank: 3

积分
374
沙发
 楼主| 发表于 2017-6-6 14:50:07 | 只看该作者
为什么做万用表测量,就是之前用微雪OLED样例代码,做过测试,OLED没反应,直觉把我引导向硬件测量,最起码验证了D11、D12、D13等引脚都是对的!

测试硬件环境,也是 底板+功能板+oled ,底板+排线+oled,两种都测试过

下文是OLED样例代码中测试SPI1,还是SPI2,做的GPIO定义,仅供参考

// SPI1
#define SSD1306_CS_PIN          GPIO_Pin_4
#define SSD1306_CLK_PIN         GPIO_Pin_5
#define SSD1306_DIN_PIN         GPIO_Pin_7
#define SSD1306_CS_GPIO         GPIOA
#define SSD1306_CLK_GPIO        GPIOA
#define SSD1306_DIN_GPIO        GPIOA

// SPI2
/*
#define SSD1306_CS_PIN          GPIO_Pin_12
#define SSD1306_CLK_PIN         GPIO_Pin_13
#define SSD1306_DIN_PIN         GPIO_Pin_15
#define SSD1306_CS_GPIO         GPIOB
#define SSD1306_CLK_GPIO        GPIOB
#define SSD1306_DIN_GPIO        GPIOB
*/

//
#define SSD1306_RES_PIN         GPIO_Pin_6
#define SSD1306_DC_PIN          GPIO_Pin_11
#define SSD1306_RES_GPIO        GPIOB
#define SSD1306_DC_GPIO         GPIOB

3

主题

18

帖子

374

积分

中级会员

Rank: 3Rank: 3

积分
374
板凳
 楼主| 发表于 2017-6-6 14:54:27 | 只看该作者
微雪淘宝店(喷子别说我是拖!我只是个过气程序员偶遇GoKit3而已!)
https://waveshare.taobao.com/
店内搜索oled

0.96、0.95、1.3都挺好,在Open103R开发板也测试过了,只期望坛友跟我一样在GoKit3都能玩好!

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
地板
发表于 2017-6-6 15:16:31 | 只看该作者
不错,感谢您的分享

点评

(⊙o⊙)… 管理员,你的鼓励,还是没有换来问题的解决方案啊! 是我的思路和判断错了? 还是我申请的GoKit3底板接口D10和MCU PA4引脚不通,有故障? 我需要的是答案啊!拜求GoKit3的硬件工程师解答一下哦!  详情 回复 发表于 2017-6-6 15:37
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

3

主题

18

帖子

374

积分

中级会员

Rank: 3Rank: 3

积分
374
5#
 楼主| 发表于 2017-6-6 15:37:17 | 只看该作者
免费使用STM32、APP自动代码生成工具
bigfanofloT 发表于 2017-6-6 15:16
不错,感谢您的分享

(⊙o⊙)…

管理员,你的鼓励,还是没有换来问题的解决方案啊!
是我的思路和判断错了?
还是我申请的GoKit3底板接口D10和MCU PA4引脚不通,有故障?

我需要的是答案啊!拜求GoKit3的硬件工程师解答一下哦!

点评

Gokit用的是LQFP48封装的STM32F103C8T6  详情 回复 发表于 2017-6-6 18:05

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
6#
发表于 2017-6-6 18:05:39 | 只看该作者
本帖最后由 bigfanofloT 于 2017-6-6 18:07 编辑
SmilesVan 发表于 2017-6-6 15:37
(⊙o⊙)…

管理员,你的鼓励,还是没有换来问题的解决方案啊!

Gokit用的是LQFP48封装的STM32F103C8T6,Gokit STM32底板原理图置顶帖有,注意版本哦
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

3

主题

18

帖子

374

积分

中级会员

Rank: 3Rank: 3

积分
374
7#
 楼主| 发表于 2017-7-10 19:05:17 | 只看该作者
本帖最后由 SmilesVan 于 2017-7-10 19:07 编辑

先公布答案:GoKit3 OLED接口,SPI模式下,外接微雪OLED 0.96寸 SSD1306驱动器的GPIO定义如下,其他类推:

-----------------------------------------------------------
#define SSD1306_CS_PIN          GPIO_Pin_15
#define SSD1306_CLK_PIN         GPIO_Pin_5
#define SSD1306_DIN_PIN         GPIO_Pin_7
#define SSD1306_CS_GPIO         GPIOA
#define SSD1306_CLK_GPIO        GPIOA
#define SSD1306_DIN_GPIO        GPIOA

#define SSD1306_RES_PIN         GPIO_Pin_6
#define SSD1306_DC_PIN          GPIO_Pin_11
#define SSD1306_RES_GPIO        GPIOB
#define SSD1306_DC_GPIO         GPIOB
-----------------------------------------------------------

总结
题主流程思路没有太大问题,之前一直没解决,主要原因是【资料不细致!!!】
底板CS/D10与STM32F103C8T6的引脚链接,查阅STM32F103C8T6的数据手册不细致(搜索SPI1_NSS有PA4、PA15两个引脚,之前只看到了PA4,而PA15主功能是JDTI,复用为SPI1_NSS,所以还有“JTAG引脚复用”的注意事项,可以百度一下),用万用表测量不足!
后来还是万能的淘宝收了一套GoKit2的PCB,初次接触Altium Designer,查阅了底板的线路才发现PA15的连接!!!并用万用表测量得解!!!

后来对了一个之前收藏的代码如下!引脚定义一致!验证完毕!自取不谢!完毕!!!
http://www.eeboard.com/bbs/thread-44628-1-1.html


1

主题

5

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
8#
发表于 2017-9-25 17:24:54 | 只看该作者
楼主在吗?想和你交留一下程序问题的一些探讨。我的QQ695029318,你的呢

2

主题

25

帖子

662

积分

高级会员

Rank: 4

积分
662
9#
发表于 2017-11-16 21:39:12 | 只看该作者
顶下,留个脚印。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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