本帖最后由 slotg 于 2014-8-12 22:35 编辑
本文针对MSP430G2553 LaunchPad的SPI传输方式做一个实验。
MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫瞄回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。
MAX7219使用SPI方式与MCU连接,网上可以找到这样的一个模块:
MAX7219点阵模块共有5根脚,除了电源的2根脚外,另外3根脚是与MCU连接的SPI信号。
网上找了一个在Arduino板子执行的程序,执行结果如下:
Energia是一个与Arduino相似的开发环境,然而Arduino程序是否可以直接在Energia底下编译?是否可以直接在MSP430G2553LaunchPad执行呢?
这是Energia对于MSP430G2553 LaunchPad的接脚定义:
其中跟SPI相关的4根接脚:
MAX7219点阵模块与MSP430G2553LaunchPad的接线如下:
DIN接MOSI(P1.7)
CS接CS(P2.0)
CLK接SCK(P1.5)
在Energia环境下载入程式后,编译,没有出现错误讯息:
下载到板子上:
程序没有如预期般的执行!
看了别的演示程序,发现SPI所使用的SS脚是需要宣告为输出,因此加入这一行:
重新编译后再下载到板子上,程序可以正常执行了: