4423|3

662

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【Nucleo心得】+ 8x8点阵驱动 (EX01) [复制链接]

本帖最后由 slotg 于 2014-10-5 18:21 编辑

Nucleo板的开发方式有很多种,除了大家所熟悉的KEIL,IAR等工具之外,我选择使用MBED的开发方式,这是一个全新的体验,选择MBED的原因是在这种开发环境下的编程方式就如同Arduino系统一样省略了很多对MCU内部设定等繁杂的过程,这对于初接触STM32的人来说降低了学习的难度,不用花太多时间就可以上手STM32的设计,体验编程的乐趣。当然这种开发方式也是有它的缺点:由于是在网上作业所以一定要有网络,并且这种编程方式产生出来的程序码也会比较庞大。不过MBED是免费使用的,且容易上手,对于大部份的应用也都能快速实现,因此还是很值得花时间深入研究。

Nucleo板上规划了一组跟Arduino兼容的扩充接头,这表示我们可以使用众多的Arduino扩充模块来学习相关的编程技能。Nucleo板的开箱文跟MBED的介绍,论坛上已经有很多不错的帖子可供参考,这里就不再赘述。

我的第一个实验就是使用SPI功能驱动一个8x8点阵的显示,这片板子使用了MAX7219这颗芯片,原理图如下:




芯片资料如下:
MAX7219-MAX7221.pdf (491.3 KB, 下载次数: 20)

板子除了电源接脚外还需要连接3只接脚,分别是 DIN(MOSI),CS(SS),CLK(SCK)。




开新的工程,选择SPI例程产生的程序如下:





例程里展示了SPI的使用,将鼠标点选SPI_MOSI文字可以看到相关的脚位定义:

SPI_MOSI 定义在 PA_7。
SPI_MISO 定义在 PA_6。
SPI_CLK  定义在 PA_5。

由于点阵板还需要一只CS控制脚,我们将CS控制脚定义在 PB_6。

Nucleo板的接脚分配如下:




将相关接脚连接起来,修改例程如下:

#include "mbed.h"

const char sprite[8] = {
    0xFF,
    0x81,
    0x81,
    0x81,
    0x81,
    0x81,
    0x81,
    0xFF
};


SPI spimax(SPI_MOSI, SPI_MISO, SPI_SCK);
DigitalOut CS(PB_6);

void max7219(char reg,char dta)
{
    CS = 0;
    spimax.write(reg);
    spimax.write(dta);
    CS = 1;
}

int main()
{
    max7219(0x09,0);
    max7219(0x0a,8);
    max7219(0x0b,7);
    max7219(0x0c,1);
    max7219(0x0f,0);

    for(char j=0;j<8;j++) {
        max7219(j+1,sprite[j]);
    }

    while(1) {
    }
}


执行结果:




此帖出自stm32/stm8论坛

最新回复

仔细看了吗?怎么可能是直接驱动   详情 回复 发表于 2014-10-10 21:08
点赞 关注
 

回复
举报

662

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
连接的脚位

此帖出自stm32/stm8论坛
 
 

回复

1658

帖子

1

TA的资源

纯净的硅(高级)

板凳
 
板子好强啊,直接驱动这么多二极管
此帖出自stm32/stm8论坛

点评

仔细看了吗?怎么可能是直接驱动  详情 回复 发表于 2014-10-10 21:08
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

4
 
tianshuihu 发表于 2014-10-6 10:13
板子好强啊,直接驱动这么多二极管

仔细看了吗?怎么可能是直接驱动
此帖出自stm32/stm8论坛
 
个人签名心率传感器:https://shop108071095.taobao.com
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表