本帖最后由 suncat0504 于 2022-12-6 13:38 编辑
之前自己写了一个驱动,代码太长了。后来下载一个新的例程,就使用那个例程了。也挺好用的。
MM32L0130_LibSamples_V020_1201.zip
(5.49 MB)
以下是使用它的代码,可供参考:
// 显示子字符串,包含左上角的和中间的
void show_row(uint8_t *str1) {
uint8_t i=0;
uint8_t j=0;
uint8_t lcd_str[10];
while(str1[i]!='\0') {
if (i<10) {
lcd_str[i] = str1[i];
} else {
break;
}
i++;
}
// 清除剩余位
for (j=i; j<10; j++) {
lcd_str[j]=0x00;
}
for (j=0; j<4; j++) {
LCD_DisplayNumber2(j, lcd_str[j], 1);
}
for (j=0; j<6; j++) {
LCD_DisplayNumber1(j, lcd_str[j], 1);
}
}
// 显示子字符串,包含中间的
void show_row1(uint8_t *str1) {
uint8_t i=0;uint8_t j=0;
uint8_t lcd_str[10];
while(str1[i]!='\0') {
if (i<6) {
lcd_str[i] = str1[i];
} else {
break;
}
i++;
}
for (j=0; j<6; j++) {
LCD_DisplayNumber1(j, lcd_str[j], 1);
}
}
// 显示子字符串,包含左上角的
void show_row2(uint8_t *str1) {
uint8_t i=0;uint8_t j=0;
uint8_t lcd_str[10];
while(str1[i]!='\0') {
if (i<4) {
lcd_str[i] = str1[i];
} else {
break;
}
i++;
}
for (j=0; j<4; j++) {
LCD_DisplayNumber2(j, lcd_str[j], 1);
}
}
// 显示冒号
void show_maohao(u8 col1, u8 col2, u8 col3) {
if (col1) {
SLCD->DR0 |= 1<<27;
}
if (col2) {
SLCD->DR0 |= 1<<30;
}
if (col3) {
SLCD->DR2 |= 1<<30;
}
}
因为工程还在编写中,这不是最终结果。
|