你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[NUCLEO-C031C6评测] 驱动LCD第一步

[复制链接]
dvacos 发布时间:2024-3-25 18:21

时钟配置

image.png配置两个时钟,即高数时钟和低速时钟。不懂为什么报警告。

按照我的理解正常,不休眠的时候芯片正常运行只需要配置高速晶振就可以,低速32.768k晶振是低功耗的时保持代码运行用。

所以一开始只配置了高速晶振(而且配置两个时钟会报警告),初始化SPI外设后,调用hal库的SPI数据发送接发送的数据,使用逻辑分析仪抓到的波形就是错乱的,根本不能解析。

反复配置了几十次,花了几天时间,最后对照c031的官方开发板工程时钟相关的配置,发现必须要初始化两个时钟才可以。

(选择官方开发板生成的工程居然不能编译通过,提示缺少文件,并且在文件目录下都找不到该文件,不是没有添加编译路径),如下图:

image.png

综上:必须要配置两个时钟不然SPI的波形会错乱!!!具体的原因未知,没有仔细去查有可能是cbue mx的问题,有可能是内部时钟树就是这样配置的,是我忽略了,这个就要去看内部框图了,这些后面再看。

时钟树配置

高速时钟、低速时钟都按照开发板上硬件的规格配置即可,注意SPI 和 I2S是类似的,所以这两个是同一个时钟。

image.png

上图是原理图上的晶振频率,填到时钟树的相关参数处即可。

配置SWD口

cube mx默认是没有初始化swd接口的,需要自己配置,如下图勾选即可

image.png

配置SPI

驱动屏幕是主控给屏幕发送数据,主控作为主机,屏幕作为从机,屏幕是单纯的接收、解析主控发送的数据,所以不用全双工模式,配置为主机只发送(Transmit Only Master)即可。

image.png

SPI 的配置使用默认的即可,需要修改的是Prescaler 和 NSS,因为我的逻辑分析仪不支持5通道100M的采样率,所以降低了SPI频率方便抓取逻辑信号确认数据是否正确,IO操作是否正确!

我想要接线方便一点,随便一个靠近的IO,所以关闭NSS,自己初始化一个IO来作为SPI的CS引脚。

image.png

至此驱动LCD最重要的SPI的初始化完成了,接下来就是验证SPI是否正常使用,能不能被逻辑分析仪正常解析数据是否正确!

实验

如下图,在完成SPI、GPIO的初始化之后,由于CS初始化后默认拉高(上图我们配置的),先把CS拉低,然后调用SPI发送0x11这个数据,发送完后再拉高CS引脚,代码如下。

image.png

逻辑分析仪捕获的数据image.png

由此可见数据可以正常解析,所以驱动LCD屏幕的第一步已经完成!

在此由衷的感谢一下ST中文论坛给的评测机会!!!我会认真的完成本次评测的!

image.png
收藏 评论0 发布时间:2024-3-25 18:21

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版