主题中讨论的其他部件:Energia, MSP430WARE, MSP430FR2433, MSP-EXP430FR4133
您好,
Energia LCD_SharpBoosterPack_SPI可与MSP430FR2433一起正常工作,但我在MSP340WARE中没有看到430BOOS-SHARP96的示例或代码,也没有看到任何其他地方的示例或代码,因此我从 msp430WARE_3_80_02_10中获取了MSP430FR4133_GRlib_Example,并对MSP430.2433万的代码进行了相应的更改。
1.将BlinkLED_MSP430FR2433项目从MSP430WARE导入到CCS (本 例中为7.3 版本:0.0.0019万)
2.将 MSP430WARE中的MSP-EXP430FR4133_Grlib_Example导入 CCS
3.将GrLib和LcdDriver文件夹和文件'system_pre_init.c'复制到MSP430FR2433项目
注意:必须在“项目包括选项”中添加对LcdDriver,GrLib,GrLib/grlib和GrLib/字体的引用。
4.修改FR2433 Launchpad的HAL_MSP文件
重命名: HAL_MSP_EXP430FR4133_Sharp96x96.c和 HAL_MSP_EXP430FR4133_Sharp96x96.h
至
HAL_MSP_EXP430FR2433_Sharp96x96.c和 HAL_MSP_EXP430FR2433_Sharp96x96.h
5. 在HAL_MSP_EXP430FR2433_Sharp96x96.h中,将PIN引用更改为:
#ifndef LCDDRIVER_HAL_MSP_EXP430FR2433_SHARP96X96_H_ #define LCDDRIVER_HAL_MSP_EXP430FR2433_SHARP96X96_H_ //***************************************************************************************************************** //// LCD驱动程序的用户配置 ////********************************************************************************************************* //连接到LCD 的MSP430端口#define LCD_SPI_SI_port GPIO端口P2 #define LCD_SPI_CLK_PORT GPIO端口P2 #define LCD_DISP_port GPIO端口P1 #define LCD_POWER_PORT GPIO端口_P1 #define LCD_SPI_CS_port 连接到LCD #define LCD_SPI_SI_PIN的MSP430的GPIO端口P1 //引脚 GPIO _PIN6 #define LCD_SPI_SI_PIN_function GPIO主要模块功能 #define LCD_SPI_CLK_PIN GPIO _PIN4 #define LCD_SPI_CLK_PIN_function GPIO主要模块功能 #define LCD_DISP_PIN GPIO _PIN6 #define LCD_POWER_PIN GPIO _PIN0 #define LCD_SPI_CS_PIN GPIO _PIN7 //用于SPI通信 的USCI基本地址的定义//#define LCD_EUSSCI_BASE EUSCI_B0_BASE #define LCD_EUSCI_BASE EUSCI_A1_BASE 。 。 。 #endif /* LCDDRIVER_HAL_MSP_EXP430FR2433_SHARP96X96_H_*/
6.编辑 HAL_MSP_EXP430FR4133_Sharp96x96.c以匹配FR2433 EUSCI映射
#include "grlib.h"
#include "HAL_MSP_EXP430FR2433_Sharp96x96.h"
#include "driverlib.h"
。
。
。
HAL_LCD_clearCS();
EUSCI_A_SPI_initMasterParam ={0};
param.selectClockSource = EUSCI_A_SPI_CLOCKSOURCE_SMCLK;
Param.clockSourceFrequency = CS_getSMCLK();
param.desiredSpiClock = 100万;
para.msbFirst = EUSCI_A_SPI_MSB_FIRST;
Param.clockPhase = EUSCI_A_SPI_PHASE DATA_Captured_ONFIRST_changed_on_next;
Param.clockPolarity = EUSCI_A_SPI_CLOCKPOLARITY_INACILY_LOW;
PARAM.spin模式= EUSCI_A_SPI_3pin;
EUSCI_A_SPI_initMaster(LCD_EUSCI_BASE,¶m);
EUSCI_A_SPI_enable(LCD_EUSCI_base);
。
。
.
void HAL_LCD_writeCommandOrData(uint16_t命令){
while (!EUSI_A_SPI_getInterruptStatus (LCD_EUSI_BASE),
EUSCI_A_SPI_Transmit_Interrupt))
{
;}
EUSCI_A_SPI_发射器 数据(LCD_EUSCI_BASE,command);
}
void HAL_LCD_waitUntilLcdWriteFinish(void){
While (EUSCI_A_SPI_isBusy (LCD_EUSCI_BASE))
{
;}
}
7.复制main.c的内容,或者只将文件复制到FR2433项目
之后,LCD演示应按预期工作。
我希望这对其他人有帮助。