This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR6047:用户指南中提供的 LCD driverlib 示例代码无法正常工作。 (EVMmsp430fr6047 板)

Guru**** 2361280 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1531277/msp430fr6047-lcd-driverlib-sample-code-given-in-user-guide-is-not-working-evmmsp430fr6047-board

器件型号:MSP430FR6047

工具/软件:

您好团队:  

当我从 MSP430FR5xx_6xx_Driver LCD-2_91_13_01.pdf(第 251 页) 文档中刷写 Lib_Users_Guide driverlib 示例代码时、它不起作用、但从 TI 示例中执行基于 LCD 寄存器的代码时、它工作正常。 在 EVMmsp430fr6047 板上解决该问题时需要帮助。

未运行的代码

MSP430FR5xx_6xx_Driver Lib_Users_Guide–2_91_13_01.pdf、请参阅第 251 页。 它有几个错误的宏,我更正了它,仍然不工作.  

工作代码


包含“msp430.h"</s>“

#define A1_DIGITAL LCDM1 //数字 A1
#define A1_ALPHA LCDM2 // A1 的字母数字部分
#define A2_DIGITAL LCDM3 //数字 A2
#define A2_ALPHA LCDM4 // A2 的字母数字部分
#define A3_DIGITAL LCDM5 //数字 A3
#define A3_ALPHA LCDM6 // A3 的字母数字部分
#define A4_DIGITAL LCDM7 //数字 A4
#define A4_ALPHA LCDM8 // A4 的字母数字部分
#define A5_位 LCDM9 //位 A5
#define A5_alpha LCDM10 // A5 的字母数字部分

const unsigned char LCD_num[10]={
0xFC、// 0
0x60、// 1
0xDB、// 2
0xF3、// 3
0x67、// 4
0xB7、// 5
0xBF、// 6
0xE4、// 7
0xFF、// 8
0xF7、// 9
};

内部 main (void)

WDTCTL = WDTPW | WDTHOLD;//停止 WDT

PJSEL0 = BIT4 | BIT5;//对于 LFXT

//初始化 COMS 引脚和外部偏置电阻器引脚
P6SEL0 =(BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7);
P6SEL1 =(BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7);

//初始化 LCD 段 0-26;
LCDCPTL0 = 0xFFFF;//0-15
LCDCPTL1 = 0x07FF;//16-26

//禁用 GPIO 上电默认高阻抗模式
//激活以前配置的端口设置
PM5CTL0 且=~LOCKLPM5;

//配置 LFXT 32kHz 晶体
CSCTL0_H = CSKEY >> 8;//解锁 CS 寄存器
CSCTL4 且=~LFXTOFF;//启用 LFXT
应该做

CSCTL5 &&~LFXTOFFG;//清除 LFXT 故障标志
SFRIFG1 &=~OFIFG;
}while (SFRIFG1 和 OFIFG);//测试振荡器故障标志
CSCTL0_H = 0;//锁定 CS 寄存器

//初始化 LCD_C
// ACLK、分频器= 1、预分频器= 16;4 引脚多路复用器
LCDCCTL0 = LCDDIV__1 | LCDPRE__16 |(LCDMX1+LCDMX0+LCDSON)| LCDLP;

//已禁用电荷泵
//内部 VLCD、外部 Rx3 引脚、外部对比度
LCDCSCTL = LCDREXT | R03EXT;
//使用内部偏置电阻器:LCDCPTL = 0;

LCDCCPCTL = LCDCPLKSYNC;//启用时钟同步

LCDCMMCTL = LCDCLRM;//清除 LCD 存储器

A1_DIGITAL = LCD_NUM[4];//在 A1 上显示数字 4
a2_digit = LCD_num[3];//在 A2 上显示数字 3
A3_Digit = LCD_num[0];//在 A3 上显示数字 0

//打开 LCD
LCDCCTL0 |= LCDON;

__bis_SR_register (LPM3_bits | GIE);
__ no_operation ();

返回 0;
}

非常感谢、

文卡塔拉马纳