本帖最后由 suncat0504 于 2022-12-6 13:38 编辑
之前自己写了一个驱动,代码太长了。后来下载一个新的例程,就使用那个例程了。也挺好用的。
MM32L0130_LibSamples_V020_1201.zip
(5.49 MB, 下载次数: 5)
以下是使用它的代码,可供参考:
- // 显示子字符串,包含左上角的和中间的
- 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;
- }
- }
因为工程还在编写中,这不是最终结果。
|