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

[菜鸟笔记]stm32F030F4P6+TA6932点亮双色8*8LED点阵

[复制链接]
SquallBest 发布时间:2017-5-17 19:29
本帖最后由 SquallBest 于 2017-5-17 19:37 编辑

加入社区快到一年的时间了。首先,请各位版主原谅我默默潜水学习而没发帖。因为我是高龄硬件小白,34岁才开始从头学硬件编程。平时还有工作,所以学习进度慢了些。再次深表歉意。

下面言归正传,说说硬件和代码。

这次项目中需要用到8*8的双色LED点阵制作个通行指示灯,没有别的高级功能。这时候我就想到了stm32F030F4P6这款stm32最便宜的单片机。因为项目功能少,资源完全够用。就淘了一块stm32F030F4P6的核心板,貌似不到10块钱。然后又淘了一个双色点阵模块。使用的是TA6932的控制芯片。东西拿到手的时候发现,点阵模块是5V的。。。又淘了一个TXS0108E 高速全双工的电平转换模块。唉~!新手小白,在选东西上浪费将近两周的时间。

鲁莽小白的第一步:连线

看到点阵模块说明是3个IO接口。直接找到核心板PA0,PA1,PA2这三个IO连接到TTL转换版的A1,A2,A3上,连上3.3V的电源口和GND。对应的B1,B2,B3连接到点阵模块的STB,CLK,DIN接口上。电平转换模块需要5V电源从核心板取。但是,这时候遇到了个问题。TTL转换板上说需要一个IO口高电平使能这个芯片(OE脚)。由于是小白,不太懂,怕炸片子(之前炸过几片2596,心理阴影无限大),直接没接这个脚。点阵模块的5V电源和GND都是从核心板取的。

第二部:配置工程

万事俱备,硬件放一边。打开STM32CubeMX。对小白来说,这是一个神器。再也不用为配置环境而烦恼了(我曾经为了配置标准库几天没睡觉,后来在社区朋友帮助下才点亮了LED灯。。。再次心理阴影)。

1.jpg

新建一个工程

2.png

选择使用的mcu。这里挺人性化的,有筛选器。不然,眼睛都花了。然后双击选择的MCU。这里我用的是stm32F030F4P6.

然后进入界面设置引脚。这时候发现个问题。因为不知道以后这个东东以后是否会扩展或者在别的地方是否会使用。所以,尽量避开通信接口。

3.png

发现PA2,PA3引脚是USART1的TX,RX引脚,所以避开,更换PA2引脚到PA9。如图下图

5.png

同时把USART1也注册上了。但是本次没使用。三个IO定义为推挽输出。

6.jpg
7.jpg

然后,设置工程代码的属性

9.jpg

然后我又选择了将部分代码分离出main.c。

10.jpg

点击OK就在你配置的工程地址里生成了一个项目工程。后来我又仔细看了下TXS0108E的文档。文档说OE脚配置个IO就可以。又重新配置了一下工程,把PA10配置成推挽输出,连接到TXS0108E的OE脚,并把引脚名称加上去了。如下图。

11.jpg

重新生成一下工程代码。OK。让我们打开生成的keil5工程。这里,需要写一个驱动代码。我以前是做c#的,我把他理解为类库。这样可以方便的移植和调用。哈哈。先在工程中添加两个文件。TA6932.h和TA6932.c。一个是头文件,一个代码文件。

看代码(这里我传代码四次,每次都中文乱码,我就放在后面的压缩包里,大家自己下载看吧。)

其中,TA6932.c文件的void Init6932Interface(void)方法我加入了一个拉高OE电平的操作。这块儿可以放到main.c的main方法中的。以后就准备用这个电平转换模块了。所以怕忘记,就写在屏幕初始化里了。HAL_GPIO_WritePin(GPIOA,CLKPin_Pin,GPIO_PIN_SET);因为引脚是字母命名的所以换引脚也不怕。哪怕是移植到别的板子上,只要名字相同,都能用。

写在最后。

本想弄个视频上传一下的。但是太麻烦,不会弄。我算是大龄硬件小白,有些东西还不太会整。还有,第一次写这样的技术文章,结构比较乱,还请各位多多包含。最后,上传代码。 F030F4P6Lights.rar (6.73 MB, 下载次数: 2935)

4.jpg
8.jpg

评分

参与人数 1 ST金币 +10 收起 理由
zero99 + 10

查看全部评分

收藏 3 评论12 发布时间:2017-5-17 19:29

举报

12个回答
creep 回答时间:2017-5-17 20:44:16
支持,感谢分享!!
zero99 回答时间:2017-5-17 20:49:48
点个赞
Paderboy 回答时间:2017-5-17 22:56:51
赞一个。。
epochal 回答时间:2017-5-18 07:29:00
不错,赞赞赞!!!
SquallBest 回答时间:2017-7-3 20:07:54

多谢老大鼓励
SquallBest 回答时间:2017-10-12 01:55:40
终于超越一灯大师了。哈哈
mcpuab2367 回答时间:2018-6-2 22:02:27
这个帖子的分享心态很好,现在先看看内容,稍后回复
newphj 回答时间:2018-7-13 08:21:51
试试看,谢谢分享
cugxiao 回答时间:2018-7-13 08:32:46
正好我自己画了一块030f4p6的最小系统板,不过我准备用来点亮OLED,,比较炫酷
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版