已定义但未用于整个项目的变量
Variables defined but not used for entire project
突然,在为我的项目重写库时,为项目中所有库声明的所有静态变量都发出警告,提示已定义但未使用。 header 中的多个变量定义也出现错误,即使它有守卫。是否有解决这些问题的通用方法?我已经尝试了一段时间了,但没有帮助。
我试图通过排除 libraries/parts 代码来追踪问题,但问题仍然存在。
Header 用于 multiple-definitions 部分代码:
/*
* fonts.h
*
* Library of fonts
* Large: 8x8, normal: 5x7 and small: 4x7
*/
#ifndef FONTS_H_
#define FONTS_H_
#include <avr/pgmspace.h>
// Font 8x8 - Large
const unsigned char PROGMEM font8[95][8] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b00000110,0b01011111,0b01011111,0b00000110,0b00000000,0b00000000,0b00000000}, // !
{0b00000000,0b00000111,0b00000111,0b00000000,0b00000111,0b00000111,0b00000000,0b00000000}, // "
{0b00010100,0b01111111,0b01111111,0b00010100,0b01111111,0b01111111,0b00010100,0b00000000}, // #
{0b00100100,0b00101110,0b01101011,0b01101011,0b00111010,0b00010010,0b00000000,0b00000000}, // $
{0b01000110,0b01100110,0b00110000,0b00011000,0b00001100,0b01100110,0b01100010,0b00000000}, // %
{0b00110000,0b01111010,0b01001111,0b01011101,0b00110111,0b01111010,0b01001000,0b00000000}, // &
{0b00000100,0b00000111,0b00000011,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, // '
{0b00000000,0b00011100,0b00111110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000}, // (
{0b00000000,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000,0b00000000,0b00000000}, // )
{0b00001000,0b00101010,0b00111110,0b00011100,0b00011100,0b00111110,0b00101010,0b00001000}, // *
{0b00001000,0b00001000,0b00111110,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000}, // +
{0b00000000,0b10100000,0b11100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000}, // ,
{0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00000000,0b00000000}, // -
{0b00000000,0b00000000,0b01100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000}, // .
{0b01100000,0b00110000,0b00011000,0b00001100,0b00000110,0b00000011,0b00000001,0b00000000}, // /
{0b00111110,0b01111111,0b01011001,0b01001101,0b01111111,0b00111110,0b00000000,0b00000000}, // 0
{0b01000010,0b01000010,0b01111111,0b01111111,0b01000000,0b01000000,0b00000000,0b00000000}, // 1
{0b01100010,0b01110011,0b01011001,0b01001001,0b01101111,0b01100110,0b00000000,0b00000000}, // 2
{0b00100010,0b01100011,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000}, // 3
{0b00011000,0b00011100,0b00010110,0b00010011,0b01111111,0b01111111,0b00010000,0b00000000}, // 4
{0b00100111,0b01100111,0b01000101,0b01000101,0b01111101,0b00111001,0b00000000,0b00000000}, // 5
{0b00111100,0b01111110,0b01001011,0b01001001,0b01111001,0b00110000,0b00000000,0b00000000}, // 6
{0b00000011,0b01100011,0b01110001,0b00011001,0b00001111,0b00000111,0b00000000,0b00000000}, // 7
{0b00110110,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000}, // 8
{0b00000110,0b01001111,0b01001001,0b01101001,0b00111111,0b00011110,0b00000000,0b00000000}, // 9
{0b00000000,0b00000000,0b01101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000}, // :
{0b00000000,0b10100000,0b11101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000}, // ;
{0b00001000,0b00011100,0b00110110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000}, // <
{0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00000000,0b00000000}, // =
{0b00000000,0b01000001,0b01100011,0b00110110,0b00011100,0b00001000,0b00000000,0b00000000}, // >
{0b00000010,0b00000011,0b01010001,0b01011001,0b00001111,0b00000110,0b00000000,0b00000000}, // ?
{0b00111110,0b01111111,0b01000001,0b01011101,0b01011101,0b00011111,0b00011110,0b00000000}, // @
{0b01111100,0b01111110,0b00010011,0b00010011,0b01111110,0b01111100,0b00000000,0b00000000}, // A
{0b01000001,0b01111111,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000}, // B
{0b00011100,0b00111110,0b01100011,0b01000001,0b01000001,0b01100011,0b00100010,0b00000000}, // C
{0b01000001,0b01111111,0b01111111,0b01000001,0b01100011,0b01111111,0b00011100,0b00000000}, // D
{0b01000001,0b01111111,0b01111111,0b01001001,0b01011101,0b01000001,0b01100011,0b00000000}, // E
{0b01000001,0b01111111,0b01111111,0b01001001,0b00011101,0b00000001,0b00000011,0b00000000}, // F
{0b00011100,0b00111110,0b01100011,0b01000001,0b01010001,0b01110011,0b01110010,0b00000000}, // G
{0b01111111,0b01111111,0b00001000,0b00001000,0b01111111,0b01111111,0b00000000,0b00000000}, // H
{0b00000000,0b01000001,0b01111111,0b01111111,0b01000001,0b00000000,0b00000000,0b00000000}, // I
{0b00110000,0b01110000,0b01000000,0b01000001,0b01111111,0b00111111,0b00000001,0b00000000}, // J
{0b01000001,0b01111111,0b01111111,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000}, // K
{0b01000001,0b01111111,0b01111111,0b01000001,0b01000000,0b01100000,0b01110000,0b00000000}, // L
{0b01111111,0b01111111,0b00000110,0b00001100,0b00000110,0b01111111,0b01111111,0b00000000}, // M
{0b01111111,0b01111111,0b00000110,0b00001100,0b00011000,0b01111111,0b01111111,0b00000000}, // N
{0b00011100,0b00111110,0b01100011,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000}, // O
{0b01000001,0b01111111,0b01111111,0b01001001,0b00001001,0b00001111,0b00000110,0b00000000}, // P
{0b00011110,0b00111111,0b00100001,0b01110001,0b01111111,0b01011110,0b00000000,0b00000000}, // Q
{0b01000001,0b01111111,0b01111111,0b00011001,0b00111001,0b01101111,0b01000110,0b00000000}, // R
{0b00100110,0b01100111,0b01001101,0b01011001,0b01111011,0b00110010,0b00000000,0b00000000}, // S
{0b00000011,0b01000001,0b01111111,0b01111111,0b01000001,0b00000011,0b00000000,0b00000000}, // T
{0b01111111,0b01111111,0b01000000,0b01000000,0b01111111,0b01111111,0b00000000,0b00000000}, // U
{0b00011111,0b00111111,0b01100000,0b01100000,0b00111111,0b00011111,0b00000000,0b00000000}, // V
{0b01111111,0b01111111,0b00110000,0b00011000,0b00110000,0b01111111,0b01111111,0b00000000}, // W
{0b01100011,0b01110111,0b00011100,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000}, // X
{0b00000111,0b01001111,0b01111000,0b01111000,0b01001111,0b00000111,0b00000000,0b00000000}, // Y
{0b01100111,0b01110011,0b01011001,0b01001101,0b01000111,0b01100011,0b01110001,0b00000000}, // Z
{0b00000000,0b01111111,0b01111111,0b01000001,0b01000001,0b00000000,0b00000000,0b00000000}, // [
{0b00000001,0b00000011,0b00000110,0b00001100,0b00011000,0b00110000,0b01100000,0b00000000}, // "\"
{0b00000000,0b01000001,0b01000001,0b01111111,0b01111111,0b00000000,0b00000000,0b00000000}, // ]
{0b00001000,0b00001100,0b00000110,0b00000011,0b00000110,0b00001100,0b00001000,0b00000000}, // ^
{0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000}, // _
{0b00000000,0b00000000,0b00000011,0b00000111,0b00000100,0b00000000,0b00000000,0b00000000}, // `
{0b00100000,0b01110100,0b01010100,0b01010100,0b00111100,0b01111000,0b01000000,0b00000000}, // a
{0b01000001,0b00111111,0b01111111,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000}, // b
{0b00111000,0b01111100,0b01000100,0b01000100,0b01101100,0b00101000,0b00000000,0b00000000}, // c
{0b00110000,0b01111000,0b01001000,0b01001001,0b00111111,0b01111111,0b01000000,0b00000000}, // d
{0b00111000,0b01111100,0b01010100,0b01010100,0b01011100,0b00011000,0b00000000,0b00000000}, // e
{0b01001000,0b01111110,0b01111111,0b01001001,0b00000011,0b00000010,0b00000000,0b00000000}, // f
{0b10011000,0b10111100,0b10100100,0b10100100,0b11111000,0b01111100,0b00000100,0b00000000}, // g
{0b01000001,0b01111111,0b01111111,0b00001000,0b00000100,0b01111100,0b01111000,0b00000000}, // h
{0b00000000,0b01000100,0b01111101,0b01111101,0b01000000,0b00000000,0b00000000,0b00000000}, // i
{0b01000000,0b11000100,0b10000100,0b11111101,0b01111101,0b00000000,0b00000000,0b00000000}, // j
{0b01000001,0b01111111,0b01111111,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000}, // k
{0b00000000,0b01000001,0b01111111,0b01111111,0b01000000,0b00000000,0b00000000,0b00000000}, // l
{0b01111100,0b01111100,0b00001100,0b00011000,0b00001100,0b01111100,0b01111000,0b00000000}, // m
{0b01111100,0b01111100,0b00000100,0b00000100,0b01111100,0b01111000,0b00000000,0b00000000}, // n
{0b00111000,0b01111100,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000,0b00000000}, // o
{0b10000100,0b11111100,0b11111000,0b10100100,0b00100100,0b00111100,0b00011000,0b00000000}, // p
{0b00011000,0b00111100,0b00100100,0b10100100,0b11111000,0b11111100,0b10000100,0b00000000}, // q
{0b01000100,0b01111100,0b01111000,0b01000100,0b00011100,0b00011000,0b00000000,0b00000000}, // r
{0b01001000,0b01011100,0b01010100,0b01010100,0b01110100,0b00100100,0b00000000,0b00000000}, // s
{0b00000000,0b00000100,0b00111110,0b01111111,0b01000100,0b00100100,0b00000000,0b00000000}, // t
{0b00111100,0b01111100,0b01000000,0b01000000,0b00111100,0b01111100,0b01000000,0b00000000}, // u
{0b00011100,0b00111100,0b01100000,0b01100000,0b00111100,0b00011100,0b00000000,0b00000000}, // v
{0b00111100,0b01111100,0b01100000,0b00110000,0b01100000,0b01111100,0b00111100,0b00000000}, // w
{0b01000100,0b01101100,0b00111000,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000}, // x
{0b10011100,0b10111100,0b10100000,0b10100000,0b11111100,0b01111100,0b00000000,0b00000000}, // y
{0b01001100,0b01100100,0b01110100,0b01011100,0b01001100,0b01100100,0b00000000,0b00000000}, // z
{0b00001000,0b00001000,0b00111110,0b01110111,0b01000001,0b01000001,0b00000000,0b00000000}, // {
{0b00000000,0b00000000,0b00000000,0b01110111,0b01110111,0b00000000,0b00000000,0b00000000}, // |
{0b01000001,0b01000001,0b01110111,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000}, // }
{0b00000010,0b00000011,0b00000001,0b00000011,0b00000010,0b00000011,0b00000001,0b00000000}, // ~
};
// Font 5x7 - normal
const unsigned char PROGMEM font5[95][5] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b00000000,0b01011111,0b00000000,0b00000000}, // !
{0b00000000,0b00000111,0b00000000,0b00000111,0b00000000}, // "
{0b00010100,0b01111111,0b00010100,0b01111111,0b00010100}, // #
{0b00100100,0b00101010,0b01111111,0b00101010,0b00010010}, // $
{0b00100011,0b00010011,0b00001000,0b01100100,0b01100010}, // %
{0b00110110,0b01001001,0b01010101,0b00100010,0b01010000}, // &
{0b00000000,0b00000101,0b00000011,0b00000000,0b00000000}, // '
{0b00000000,0b00011100,0b00100010,0b01000001,0b00000000}, // (
{0b00000000,0b01000001,0b00100010,0b00011100,0b00000000}, // )
{0b00001000,0b00101010,0b00011100,0b00101010,0b00001000}, // *
{0b00001000,0b00001000,0b00111110,0b00001000,0b00001000}, // +
{0b00000000,0b01010000,0b00110000,0b00000000,0b00000000}, // ,
{0b00001000,0b00001000,0b00001000,0b00001000,0b00001000}, // -
{0b00000000,0b01100000,0b01100000,0b00000000,0b00000000}, // .
{0b00100000,0b00010000,0b00001000,0b00000100,0b00000010}, // /
{0b00111110,0b01010001,0b01001001,0b01000101,0b00111110}, // 0
{0b00000000,0b01000010,0b01111111,0b01000000,0b00000000}, // 1
{0b01000010,0b01100001,0b01010001,0b01001001,0b01000110}, // 2
{0b00100001,0b01000001,0b01000101,0b01001011,0b00110001}, // 3
{0b00011000,0b00010100,0b00010010,0b01111111,0b00010000}, // 4
{0b00100111,0b01000101,0b01000101,0b01000101,0b00111001}, // 5
{0b00111100,0b01001010,0b01001001,0b01001001,0b00110000}, // 6
{0b00000001,0b01110001,0b00001001,0b00000101,0b00000011}, // 7
{0b00110110,0b01001001,0b01001001,0b01001001,0b00110110}, // 8
{0b00000110,0b01001001,0b01001001,0b00101001,0b00011110}, // 9
{0b00000000,0b00110110,0b00110110,0b00000000,0b00000000}, // :
{0b00000000,0b01010110,0b00110110,0b00000000,0b00000000}, // ;
{0b00000000,0b00001000,0b00010100,0b00100010,0b01000001}, // <
{0b00010100,0b00010100,0b00010100,0b00010100,0b00010100}, // =
{0b01000001,0b00100010,0b00010100,0b00001000,0b00000000}, // >
{0b00000010,0b00000001,0b01010001,0b00001001,0b00000110}, // ?
{0b00110010,0b01001001,0b01111001,0b01000001,0b00111110}, // @
{0b01111110,0b00010001,0b00010001,0b00010001,0b01111110}, // A
{0b01111111,0b01001001,0b01001001,0b01001001,0b00110110}, // B
{0b00111110,0b01000001,0b01000001,0b01000001,0b00100010}, // C
{0b01111111,0b01000001,0b01000001,0b00100010,0b00011100}, // D
{0b01111111,0b01001001,0b01001001,0b01001001,0b01000001}, // E
{0b01111111,0b00001001,0b00001001,0b00000001,0b00000001}, // F
{0b00111110,0b01000001,0b01000001,0b01010001,0b00110010}, // G
{0b01111111,0b00001000,0b00001000,0b00001000,0b01111111}, // H
{0b00000000,0b01000001,0b01111111,0b01000001,0b00000000}, // I
{0b00100000,0b01000000,0b01000001,0b00111111,0b00000001}, // J
{0b01111111,0b00001000,0b00010100,0b00100010,0b01000001}, // K
{0b01111111,0b01000000,0b01000000,0b01000000,0b01000000}, // L
{0b01111111,0b00000010,0b00000100,0b00000010,0b01111111}, // M
{0b01111111,0b00000100,0b00001000,0b00010000,0b01111111}, // N
{0b00111110,0b01000001,0b01000001,0b01000001,0b00111110}, // O
{0b01111111,0b00001001,0b00001001,0b00001001,0b00000110}, // P
{0b00111110,0b01000001,0b01010001,0b00100001,0b01011110}, // Q
{0b01111111,0b00001001,0b00011001,0b00101001,0b01000110}, // R
{0b01000110,0b01001001,0b01001001,0b01001001,0b00110001}, // S
{0b00000001,0b00000001,0b01111111,0b00000001,0b00000001}, // T
{0b00111111,0b01000000,0b01000000,0b01000000,0b00111111}, // U
{0b00011111,0b00100000,0b01000000,0b00100000,0b00011111}, // V
{0b01111111,0b00100000,0b00011000,0b00100000,0b01111111}, // W
{0b01100011,0b00010100,0b00001000,0b00010100,0b01100011}, // X
{0b00000011,0b00000100,0b01111000,0b00000100,0b00000011}, // Y
{0b01100001,0b01010001,0b01001001,0b01000101,0b01000011}, // Z
{0b00000000,0b00000000,0b01111111,0b01000001,0b01000001}, // [
{0b00000010,0b00000100,0b00001000,0b00010000,0b00100000}, // "\"
{0b01000001,0b01000001,0b01111111,0b00000000,0b00000000}, // ]
{0b00000100,0b00000010,0b00000001,0b00000010,0b00000100}, // ^
{0b01000000,0b01000000,0b01000000,0b01000000,0b01000000}, // _
{0b00000000,0b00000001,0b00000010,0b00000100,0b00000000}, // `
{0b00100000,0b01010100,0b01010100,0b01010100,0b01111000}, // a
{0b01111111,0b01001000,0b01000100,0b01000100,0b00111000}, // b
{0b00111000,0b01000100,0b01000100,0b01000100,0b00100000}, // c
{0b00111000,0b01000100,0b01000100,0b01001000,0b01111111}, // d
{0b00111000,0b01010100,0b01010100,0b01010100,0b00011000}, // e
{0b00001000,0b01111110,0b00001001,0b00000001,0b00000010}, // f
{0b00001000,0b00010100,0b01010100,0b01010100,0b00111100}, // g
{0b01111111,0b00001000,0b00000100,0b00000100,0b01111000}, // h
{0b00000000,0b01000100,0b01111101,0b01000000,0b00000000}, // i
{0b00100000,0b01000000,0b01000100,0b00111101,0b00000000}, // j
{0b00000000,0b01111111,0b00010000,0b00101000,0b01000100}, // k
{0b00000000,0b01000001,0b01111111,0b01000000,0b00000000}, // l
{0b01111100,0b00000100,0b00011000,0b00000100,0b01111000}, // m
{0b01111100,0b00001000,0b00000100,0b00000100,0b01111000}, // n
{0b00111000,0b01000100,0b01000100,0b01000100,0b00111000}, // o
{0b01111100,0b00010100,0b00010100,0b00010100,0b00001000}, // p
{0b00001000,0b00010100,0b00010100,0b00011000,0b01111100}, // q
{0b01111100,0b00001000,0b00000100,0b00000100,0b00001000}, // r
{0b01001000,0b01010100,0b01010100,0b01010100,0b00100000}, // s
{0b00000100,0b00111111,0b01000100,0b01000000,0b00100000}, // t
{0b00111100,0b01000000,0b01000000,0b00100000,0b01111100}, // u
{0b00011100,0b00100000,0b01000000,0b00100000,0b00011100}, // v
{0b00111100,0b01000000,0b00110000,0b01000000,0b00111100}, // w
{0b01000100,0b00101000,0b00010000,0b00101000,0b01000100}, // x
{0b00001100,0b01010000,0b01010000,0b01010000,0b00111100}, // y
{0b01000100,0b01100100,0b01010100,0b01001100,0b01000100}, // z
{0b00000000,0b00001000,0b00110110,0b01000001,0b00000000}, // {
{0b00000000,0b00000000,0b01111111,0b00000000,0b00000000}, // |
{0b00000000,0b01000001,0b00110110,0b00001000,0b00000000}, // }
{0b00000010,0b00000001,0b00000011,0b00000010,0b00000001}, // ~
};
// Font 4x6 - Small
const unsigned char PROGMEM font4[95][4] = {
{0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b01011100,0b00000000,0b00000000}, // !
{0b00001100,0b00000000,0b00001100,0b00000000}, // "
{0b01111100,0b00101000,0b01111100,0b00101000}, // #
{0b01011000,0b11011100,0b01101000,0b00000000}, // $
{0b00100100,0b00010000,0b01001000,0b00000000}, // %
{0b00101000,0b01010100,0b00101000,0b01000000}, // &
{0b00000000,0b00001100,0b00000000,0b00000000}, // '
{0b00000000,0b01111000,0b10000100,0b00000000}, // (
{0b10000100,0b01111000,0b00000000,0b00000000}, // )
{0b01010100,0b00111000,0b01010100,0b00000000}, // *
{0b00010000,0b01111100,0b00010000,0b00000000}, // +
{0b10000000,0b01000000,0b00000000,0b00000000}, // ,
{0b00010000,0b00010000,0b00010000,0b00000000}, // -
{0b00000000,0b01000000,0b00000000,0b00000000}, // .
{0b01100000,0b00010000,0b00001100,0b00000000}, // /
{0b00111000,0b01010100,0b00111000,0b00000000}, // 0
{0b01001000,0b01111100,0b01000000,0b00000000}, // 1
{0b01001000,0b01100100,0b01011000,0b00000000}, // 2
{0b01000100,0b01010100,0b00101100,0b00000000}, // 3
{0b00011100,0b00010000,0b01111100,0b00000000}, // 4
{0b01011100,0b01010100,0b00100100,0b00000000}, // 5
{0b00111000,0b01010100,0b00100100,0b00000000}, // 6
{0b01100100,0b00010100,0b00001100,0b00000000}, // 7
{0b01101000,0b01010100,0b00101100,0b00000000}, // 8
{0b01001000,0b01010100,0b00111000,0b00000000}, // 9
{0b00000000,0b01001000,0b00000000,0b00000000}, // :
{0b10000000,0b01001000,0b00000000,0b00000000}, // ;
{0b00010000,0b00101000,0b01000100,0b00000000}, // <
{0b00101000,0b00101000,0b00101000,0b00000000}, // =
{0b01000100,0b00101000,0b00010000,0b00000000}, // >
{0b00000100,0b01010100,0b00001000,0b00000000}, // ?
{0b00111000,0b01000100,0b01011100,0b00000000}, // @
{0b01111000,0b00010100,0b01111000,0b00000000}, // A
{0b01111100,0b01010100,0b00101000,0b00000000}, // B
{0b00111000,0b01000100,0b00101000,0b00000000}, // C
{0b01111100,0b01000100,0b00111000,0b00000000}, // D
{0b01111100,0b01010100,0b01000100,0b00000000}, // E
{0b01111100,0b00010100,0b00000100,0b00000000}, // F
{0b00111000,0b01000100,0b01110100,0b00000000}, // G
{0b01111100,0b00010000,0b01111100,0b00000000}, // H
{0b01000100,0b01111100,0b01000100,0b00000000}, // I
{0b00100000,0b01000000,0b00111100,0b00000000}, // J
{0b01111100,0b00010000,0b01101100,0b00000000}, // K
{0b01111100,0b01000000,0b01000000,0b00000000}, // L
{0b01111100,0b00011000,0b01111100,0b00000000}, // M
{0b01111000,0b00010000,0b00111100,0b00000000}, // N
{0b00111000,0b01000100,0b00111000,0b00000000}, // O
{0b01111100,0b00010100,0b00001000,0b00000000}, // P
{0b00111000,0b01000100,0b10111000,0b00000000}, // Q
{0b01111100,0b00010100,0b01101000,0b00000000}, // R
{0b01001000,0b01010100,0b00100100,0b00000000}, // S
{0b00000100,0b01111100,0b00000100,0b00000000}, // T
{0b01111100,0b01000000,0b01111100,0b00000000}, // U
{0b00111100,0b01100000,0b00111100,0b00000000}, // V
{0b01111100,0b00110000,0b01111100,0b00000000}, // W
{0b01101100,0b00010000,0b01101100,0b00000000}, // X
{0b00001100,0b01110000,0b00001100,0b00000000}, // Y
{0b01100100,0b01010100,0b01001100,0b00000000}, // Z
{0b00000000,0b01111100,0b01000100,0b00000000}, // [
{0b00001100,0b00010000,0b01100000,0b00000000}, // "\"
{0b01000100,0b01111100,0b00000000,0b00000000}, // ]
{0b00001000,0b00000100,0b00001000,0b00000000}, // ^
{0b10000000,0b10000000,0b10000000,0b00000000}, // _
{0b00000000,0b00000100,0b00001000,0b00000000}, // `
{0b00110000,0b01001000,0b01111000,0b00000000}, // a
{0b01111100,0b01001000,0b00110000,0b00000000}, // b
{0b00110000,0b01001000,0b01001000,0b00000000}, // c
{0b00110000,0b01001000,0b01111100,0b00000000}, // d
{0b00110000,0b01101000,0b01010000,0b00000000}, // e
{0b00010000,0b01111000,0b00010100,0b00000000}, // f
{0b10010000,0b10101000,0b01111000,0b00000000}, // g
{0b01111100,0b00001000,0b01110000,0b00000000}, // h
{0b01010000,0b01110100,0b01000000,0b00000000}, // i
{0b10000000,0b10000000,0b01110100,0b00000000}, // j
{0b01111100,0b00010000,0b01101000,0b00000000}, // k
{0b01000100,0b01111100,0b01000000,0b00000000}, // l
{0b01111000,0b00010000,0b01111000,0b00000000}, // m
{0b01111000,0b00001000,0b01110000,0b00000000}, // n
{0b00110000,0b01001000,0b00110000,0b00000000}, // o
{0b11111000,0b00101000,0b00010000,0b00000000}, // p
{0b00110000,0b01001000,0b11111000,0b00000000}, // q
{0b01111000,0b00010000,0b00001000,0b00000000}, // r
{0b01010000,0b01011000,0b00101000,0b00000000}, // s
{0b00001000,0b00111100,0b01001000,0b00000000}, // t
{0b00111000,0b01000000,0b01111000,0b00000000}, // u
{0b00111000,0b01000000,0b00111000,0b00000000}, // v
{0b01111000,0b00100000,0b01111000,0b00000000}, // w
{0b01001000,0b00110000,0b01001000,0b00000000}, // x
{0b10011000,0b10100000,0b01111000,0b00000000}, // y
{0b01001000,0b01101000,0b01011000,0b00000000}, // z
{0b00010000,0b01111000,0b10000100,0b00000000}, // {
{0b00000000,0b01111100,0b00000000,0b00000000}, // |
{0b10000100,0b01111000,0b00010000,0b00000000}, // }
{0b00001000,0b00000100,0b00001000,0b00000100}, // ~
};
#endif /* FONTS_H_ */
很难缩小范围并给出相关的项目代码,因为我不知道是什么导致了这个问题。
编辑:在 header 中声明 fonts.h 变量并在字体中初始化它们。c-file 解决了多重定义问题。 static-variables 'defined but not used' 问题仍然存在
静态变量 'defined but not used' 已通过将它们的声明移动到相关库的 .c 文件中解决。示例:
.c - 文件
static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;
init_params()
{
MENU_PAGE_TABLE_SRAM_BASE_OFFSET = (menu_page**) 0x1C00;
}
哪里
static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;
之前位于 .h 文件中
如果全局变量声明为 static
,这意味着它只能在这个特定的 .c
文件中使用。如果声明了变量但从未使用过,这是代码中语义错误的标志,并且它被标记为警告。
一般方法:只删除未使用的静态变量,或从声明中删除 static
关键字。
如果您在 .h
文件中声明了数组。这意味着每次包含头文件时,都会创建这些变量的新副本。如果它们没有被声明 static
会导致编译错误。如果是static
,那么每份都会占用内存
要解决此问题,您可能希望将这些数组移动到不带关键字 static
:
的 .c
文件中
// inside .c file
const unsigned char PROGMEM font8[95][8] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000},
...
而在 .h
文件中只对这些数组进行声明:
// inside .h file
extern const unsigned char PROGMEM font8[95][8];
(注意关键词extern
)
这允许您在每个 .c
文件中使用数组的相同副本,其中包含 .h
。
突然,在为我的项目重写库时,为项目中所有库声明的所有静态变量都发出警告,提示已定义但未使用。 header 中的多个变量定义也出现错误,即使它有守卫。是否有解决这些问题的通用方法?我已经尝试了一段时间了,但没有帮助。
我试图通过排除 libraries/parts 代码来追踪问题,但问题仍然存在。
Header 用于 multiple-definitions 部分代码:
/*
* fonts.h
*
* Library of fonts
* Large: 8x8, normal: 5x7 and small: 4x7
*/
#ifndef FONTS_H_
#define FONTS_H_
#include <avr/pgmspace.h>
// Font 8x8 - Large
const unsigned char PROGMEM font8[95][8] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b00000110,0b01011111,0b01011111,0b00000110,0b00000000,0b00000000,0b00000000}, // !
{0b00000000,0b00000111,0b00000111,0b00000000,0b00000111,0b00000111,0b00000000,0b00000000}, // "
{0b00010100,0b01111111,0b01111111,0b00010100,0b01111111,0b01111111,0b00010100,0b00000000}, // #
{0b00100100,0b00101110,0b01101011,0b01101011,0b00111010,0b00010010,0b00000000,0b00000000}, // $
{0b01000110,0b01100110,0b00110000,0b00011000,0b00001100,0b01100110,0b01100010,0b00000000}, // %
{0b00110000,0b01111010,0b01001111,0b01011101,0b00110111,0b01111010,0b01001000,0b00000000}, // &
{0b00000100,0b00000111,0b00000011,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, // '
{0b00000000,0b00011100,0b00111110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000}, // (
{0b00000000,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000,0b00000000,0b00000000}, // )
{0b00001000,0b00101010,0b00111110,0b00011100,0b00011100,0b00111110,0b00101010,0b00001000}, // *
{0b00001000,0b00001000,0b00111110,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000}, // +
{0b00000000,0b10100000,0b11100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000}, // ,
{0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00000000,0b00000000}, // -
{0b00000000,0b00000000,0b01100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000}, // .
{0b01100000,0b00110000,0b00011000,0b00001100,0b00000110,0b00000011,0b00000001,0b00000000}, // /
{0b00111110,0b01111111,0b01011001,0b01001101,0b01111111,0b00111110,0b00000000,0b00000000}, // 0
{0b01000010,0b01000010,0b01111111,0b01111111,0b01000000,0b01000000,0b00000000,0b00000000}, // 1
{0b01100010,0b01110011,0b01011001,0b01001001,0b01101111,0b01100110,0b00000000,0b00000000}, // 2
{0b00100010,0b01100011,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000}, // 3
{0b00011000,0b00011100,0b00010110,0b00010011,0b01111111,0b01111111,0b00010000,0b00000000}, // 4
{0b00100111,0b01100111,0b01000101,0b01000101,0b01111101,0b00111001,0b00000000,0b00000000}, // 5
{0b00111100,0b01111110,0b01001011,0b01001001,0b01111001,0b00110000,0b00000000,0b00000000}, // 6
{0b00000011,0b01100011,0b01110001,0b00011001,0b00001111,0b00000111,0b00000000,0b00000000}, // 7
{0b00110110,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000}, // 8
{0b00000110,0b01001111,0b01001001,0b01101001,0b00111111,0b00011110,0b00000000,0b00000000}, // 9
{0b00000000,0b00000000,0b01101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000}, // :
{0b00000000,0b10100000,0b11101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000}, // ;
{0b00001000,0b00011100,0b00110110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000}, // <
{0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00000000,0b00000000}, // =
{0b00000000,0b01000001,0b01100011,0b00110110,0b00011100,0b00001000,0b00000000,0b00000000}, // >
{0b00000010,0b00000011,0b01010001,0b01011001,0b00001111,0b00000110,0b00000000,0b00000000}, // ?
{0b00111110,0b01111111,0b01000001,0b01011101,0b01011101,0b00011111,0b00011110,0b00000000}, // @
{0b01111100,0b01111110,0b00010011,0b00010011,0b01111110,0b01111100,0b00000000,0b00000000}, // A
{0b01000001,0b01111111,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000}, // B
{0b00011100,0b00111110,0b01100011,0b01000001,0b01000001,0b01100011,0b00100010,0b00000000}, // C
{0b01000001,0b01111111,0b01111111,0b01000001,0b01100011,0b01111111,0b00011100,0b00000000}, // D
{0b01000001,0b01111111,0b01111111,0b01001001,0b01011101,0b01000001,0b01100011,0b00000000}, // E
{0b01000001,0b01111111,0b01111111,0b01001001,0b00011101,0b00000001,0b00000011,0b00000000}, // F
{0b00011100,0b00111110,0b01100011,0b01000001,0b01010001,0b01110011,0b01110010,0b00000000}, // G
{0b01111111,0b01111111,0b00001000,0b00001000,0b01111111,0b01111111,0b00000000,0b00000000}, // H
{0b00000000,0b01000001,0b01111111,0b01111111,0b01000001,0b00000000,0b00000000,0b00000000}, // I
{0b00110000,0b01110000,0b01000000,0b01000001,0b01111111,0b00111111,0b00000001,0b00000000}, // J
{0b01000001,0b01111111,0b01111111,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000}, // K
{0b01000001,0b01111111,0b01111111,0b01000001,0b01000000,0b01100000,0b01110000,0b00000000}, // L
{0b01111111,0b01111111,0b00000110,0b00001100,0b00000110,0b01111111,0b01111111,0b00000000}, // M
{0b01111111,0b01111111,0b00000110,0b00001100,0b00011000,0b01111111,0b01111111,0b00000000}, // N
{0b00011100,0b00111110,0b01100011,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000}, // O
{0b01000001,0b01111111,0b01111111,0b01001001,0b00001001,0b00001111,0b00000110,0b00000000}, // P
{0b00011110,0b00111111,0b00100001,0b01110001,0b01111111,0b01011110,0b00000000,0b00000000}, // Q
{0b01000001,0b01111111,0b01111111,0b00011001,0b00111001,0b01101111,0b01000110,0b00000000}, // R
{0b00100110,0b01100111,0b01001101,0b01011001,0b01111011,0b00110010,0b00000000,0b00000000}, // S
{0b00000011,0b01000001,0b01111111,0b01111111,0b01000001,0b00000011,0b00000000,0b00000000}, // T
{0b01111111,0b01111111,0b01000000,0b01000000,0b01111111,0b01111111,0b00000000,0b00000000}, // U
{0b00011111,0b00111111,0b01100000,0b01100000,0b00111111,0b00011111,0b00000000,0b00000000}, // V
{0b01111111,0b01111111,0b00110000,0b00011000,0b00110000,0b01111111,0b01111111,0b00000000}, // W
{0b01100011,0b01110111,0b00011100,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000}, // X
{0b00000111,0b01001111,0b01111000,0b01111000,0b01001111,0b00000111,0b00000000,0b00000000}, // Y
{0b01100111,0b01110011,0b01011001,0b01001101,0b01000111,0b01100011,0b01110001,0b00000000}, // Z
{0b00000000,0b01111111,0b01111111,0b01000001,0b01000001,0b00000000,0b00000000,0b00000000}, // [
{0b00000001,0b00000011,0b00000110,0b00001100,0b00011000,0b00110000,0b01100000,0b00000000}, // "\"
{0b00000000,0b01000001,0b01000001,0b01111111,0b01111111,0b00000000,0b00000000,0b00000000}, // ]
{0b00001000,0b00001100,0b00000110,0b00000011,0b00000110,0b00001100,0b00001000,0b00000000}, // ^
{0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000}, // _
{0b00000000,0b00000000,0b00000011,0b00000111,0b00000100,0b00000000,0b00000000,0b00000000}, // `
{0b00100000,0b01110100,0b01010100,0b01010100,0b00111100,0b01111000,0b01000000,0b00000000}, // a
{0b01000001,0b00111111,0b01111111,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000}, // b
{0b00111000,0b01111100,0b01000100,0b01000100,0b01101100,0b00101000,0b00000000,0b00000000}, // c
{0b00110000,0b01111000,0b01001000,0b01001001,0b00111111,0b01111111,0b01000000,0b00000000}, // d
{0b00111000,0b01111100,0b01010100,0b01010100,0b01011100,0b00011000,0b00000000,0b00000000}, // e
{0b01001000,0b01111110,0b01111111,0b01001001,0b00000011,0b00000010,0b00000000,0b00000000}, // f
{0b10011000,0b10111100,0b10100100,0b10100100,0b11111000,0b01111100,0b00000100,0b00000000}, // g
{0b01000001,0b01111111,0b01111111,0b00001000,0b00000100,0b01111100,0b01111000,0b00000000}, // h
{0b00000000,0b01000100,0b01111101,0b01111101,0b01000000,0b00000000,0b00000000,0b00000000}, // i
{0b01000000,0b11000100,0b10000100,0b11111101,0b01111101,0b00000000,0b00000000,0b00000000}, // j
{0b01000001,0b01111111,0b01111111,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000}, // k
{0b00000000,0b01000001,0b01111111,0b01111111,0b01000000,0b00000000,0b00000000,0b00000000}, // l
{0b01111100,0b01111100,0b00001100,0b00011000,0b00001100,0b01111100,0b01111000,0b00000000}, // m
{0b01111100,0b01111100,0b00000100,0b00000100,0b01111100,0b01111000,0b00000000,0b00000000}, // n
{0b00111000,0b01111100,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000,0b00000000}, // o
{0b10000100,0b11111100,0b11111000,0b10100100,0b00100100,0b00111100,0b00011000,0b00000000}, // p
{0b00011000,0b00111100,0b00100100,0b10100100,0b11111000,0b11111100,0b10000100,0b00000000}, // q
{0b01000100,0b01111100,0b01111000,0b01000100,0b00011100,0b00011000,0b00000000,0b00000000}, // r
{0b01001000,0b01011100,0b01010100,0b01010100,0b01110100,0b00100100,0b00000000,0b00000000}, // s
{0b00000000,0b00000100,0b00111110,0b01111111,0b01000100,0b00100100,0b00000000,0b00000000}, // t
{0b00111100,0b01111100,0b01000000,0b01000000,0b00111100,0b01111100,0b01000000,0b00000000}, // u
{0b00011100,0b00111100,0b01100000,0b01100000,0b00111100,0b00011100,0b00000000,0b00000000}, // v
{0b00111100,0b01111100,0b01100000,0b00110000,0b01100000,0b01111100,0b00111100,0b00000000}, // w
{0b01000100,0b01101100,0b00111000,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000}, // x
{0b10011100,0b10111100,0b10100000,0b10100000,0b11111100,0b01111100,0b00000000,0b00000000}, // y
{0b01001100,0b01100100,0b01110100,0b01011100,0b01001100,0b01100100,0b00000000,0b00000000}, // z
{0b00001000,0b00001000,0b00111110,0b01110111,0b01000001,0b01000001,0b00000000,0b00000000}, // {
{0b00000000,0b00000000,0b00000000,0b01110111,0b01110111,0b00000000,0b00000000,0b00000000}, // |
{0b01000001,0b01000001,0b01110111,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000}, // }
{0b00000010,0b00000011,0b00000001,0b00000011,0b00000010,0b00000011,0b00000001,0b00000000}, // ~
};
// Font 5x7 - normal
const unsigned char PROGMEM font5[95][5] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b00000000,0b01011111,0b00000000,0b00000000}, // !
{0b00000000,0b00000111,0b00000000,0b00000111,0b00000000}, // "
{0b00010100,0b01111111,0b00010100,0b01111111,0b00010100}, // #
{0b00100100,0b00101010,0b01111111,0b00101010,0b00010010}, // $
{0b00100011,0b00010011,0b00001000,0b01100100,0b01100010}, // %
{0b00110110,0b01001001,0b01010101,0b00100010,0b01010000}, // &
{0b00000000,0b00000101,0b00000011,0b00000000,0b00000000}, // '
{0b00000000,0b00011100,0b00100010,0b01000001,0b00000000}, // (
{0b00000000,0b01000001,0b00100010,0b00011100,0b00000000}, // )
{0b00001000,0b00101010,0b00011100,0b00101010,0b00001000}, // *
{0b00001000,0b00001000,0b00111110,0b00001000,0b00001000}, // +
{0b00000000,0b01010000,0b00110000,0b00000000,0b00000000}, // ,
{0b00001000,0b00001000,0b00001000,0b00001000,0b00001000}, // -
{0b00000000,0b01100000,0b01100000,0b00000000,0b00000000}, // .
{0b00100000,0b00010000,0b00001000,0b00000100,0b00000010}, // /
{0b00111110,0b01010001,0b01001001,0b01000101,0b00111110}, // 0
{0b00000000,0b01000010,0b01111111,0b01000000,0b00000000}, // 1
{0b01000010,0b01100001,0b01010001,0b01001001,0b01000110}, // 2
{0b00100001,0b01000001,0b01000101,0b01001011,0b00110001}, // 3
{0b00011000,0b00010100,0b00010010,0b01111111,0b00010000}, // 4
{0b00100111,0b01000101,0b01000101,0b01000101,0b00111001}, // 5
{0b00111100,0b01001010,0b01001001,0b01001001,0b00110000}, // 6
{0b00000001,0b01110001,0b00001001,0b00000101,0b00000011}, // 7
{0b00110110,0b01001001,0b01001001,0b01001001,0b00110110}, // 8
{0b00000110,0b01001001,0b01001001,0b00101001,0b00011110}, // 9
{0b00000000,0b00110110,0b00110110,0b00000000,0b00000000}, // :
{0b00000000,0b01010110,0b00110110,0b00000000,0b00000000}, // ;
{0b00000000,0b00001000,0b00010100,0b00100010,0b01000001}, // <
{0b00010100,0b00010100,0b00010100,0b00010100,0b00010100}, // =
{0b01000001,0b00100010,0b00010100,0b00001000,0b00000000}, // >
{0b00000010,0b00000001,0b01010001,0b00001001,0b00000110}, // ?
{0b00110010,0b01001001,0b01111001,0b01000001,0b00111110}, // @
{0b01111110,0b00010001,0b00010001,0b00010001,0b01111110}, // A
{0b01111111,0b01001001,0b01001001,0b01001001,0b00110110}, // B
{0b00111110,0b01000001,0b01000001,0b01000001,0b00100010}, // C
{0b01111111,0b01000001,0b01000001,0b00100010,0b00011100}, // D
{0b01111111,0b01001001,0b01001001,0b01001001,0b01000001}, // E
{0b01111111,0b00001001,0b00001001,0b00000001,0b00000001}, // F
{0b00111110,0b01000001,0b01000001,0b01010001,0b00110010}, // G
{0b01111111,0b00001000,0b00001000,0b00001000,0b01111111}, // H
{0b00000000,0b01000001,0b01111111,0b01000001,0b00000000}, // I
{0b00100000,0b01000000,0b01000001,0b00111111,0b00000001}, // J
{0b01111111,0b00001000,0b00010100,0b00100010,0b01000001}, // K
{0b01111111,0b01000000,0b01000000,0b01000000,0b01000000}, // L
{0b01111111,0b00000010,0b00000100,0b00000010,0b01111111}, // M
{0b01111111,0b00000100,0b00001000,0b00010000,0b01111111}, // N
{0b00111110,0b01000001,0b01000001,0b01000001,0b00111110}, // O
{0b01111111,0b00001001,0b00001001,0b00001001,0b00000110}, // P
{0b00111110,0b01000001,0b01010001,0b00100001,0b01011110}, // Q
{0b01111111,0b00001001,0b00011001,0b00101001,0b01000110}, // R
{0b01000110,0b01001001,0b01001001,0b01001001,0b00110001}, // S
{0b00000001,0b00000001,0b01111111,0b00000001,0b00000001}, // T
{0b00111111,0b01000000,0b01000000,0b01000000,0b00111111}, // U
{0b00011111,0b00100000,0b01000000,0b00100000,0b00011111}, // V
{0b01111111,0b00100000,0b00011000,0b00100000,0b01111111}, // W
{0b01100011,0b00010100,0b00001000,0b00010100,0b01100011}, // X
{0b00000011,0b00000100,0b01111000,0b00000100,0b00000011}, // Y
{0b01100001,0b01010001,0b01001001,0b01000101,0b01000011}, // Z
{0b00000000,0b00000000,0b01111111,0b01000001,0b01000001}, // [
{0b00000010,0b00000100,0b00001000,0b00010000,0b00100000}, // "\"
{0b01000001,0b01000001,0b01111111,0b00000000,0b00000000}, // ]
{0b00000100,0b00000010,0b00000001,0b00000010,0b00000100}, // ^
{0b01000000,0b01000000,0b01000000,0b01000000,0b01000000}, // _
{0b00000000,0b00000001,0b00000010,0b00000100,0b00000000}, // `
{0b00100000,0b01010100,0b01010100,0b01010100,0b01111000}, // a
{0b01111111,0b01001000,0b01000100,0b01000100,0b00111000}, // b
{0b00111000,0b01000100,0b01000100,0b01000100,0b00100000}, // c
{0b00111000,0b01000100,0b01000100,0b01001000,0b01111111}, // d
{0b00111000,0b01010100,0b01010100,0b01010100,0b00011000}, // e
{0b00001000,0b01111110,0b00001001,0b00000001,0b00000010}, // f
{0b00001000,0b00010100,0b01010100,0b01010100,0b00111100}, // g
{0b01111111,0b00001000,0b00000100,0b00000100,0b01111000}, // h
{0b00000000,0b01000100,0b01111101,0b01000000,0b00000000}, // i
{0b00100000,0b01000000,0b01000100,0b00111101,0b00000000}, // j
{0b00000000,0b01111111,0b00010000,0b00101000,0b01000100}, // k
{0b00000000,0b01000001,0b01111111,0b01000000,0b00000000}, // l
{0b01111100,0b00000100,0b00011000,0b00000100,0b01111000}, // m
{0b01111100,0b00001000,0b00000100,0b00000100,0b01111000}, // n
{0b00111000,0b01000100,0b01000100,0b01000100,0b00111000}, // o
{0b01111100,0b00010100,0b00010100,0b00010100,0b00001000}, // p
{0b00001000,0b00010100,0b00010100,0b00011000,0b01111100}, // q
{0b01111100,0b00001000,0b00000100,0b00000100,0b00001000}, // r
{0b01001000,0b01010100,0b01010100,0b01010100,0b00100000}, // s
{0b00000100,0b00111111,0b01000100,0b01000000,0b00100000}, // t
{0b00111100,0b01000000,0b01000000,0b00100000,0b01111100}, // u
{0b00011100,0b00100000,0b01000000,0b00100000,0b00011100}, // v
{0b00111100,0b01000000,0b00110000,0b01000000,0b00111100}, // w
{0b01000100,0b00101000,0b00010000,0b00101000,0b01000100}, // x
{0b00001100,0b01010000,0b01010000,0b01010000,0b00111100}, // y
{0b01000100,0b01100100,0b01010100,0b01001100,0b01000100}, // z
{0b00000000,0b00001000,0b00110110,0b01000001,0b00000000}, // {
{0b00000000,0b00000000,0b01111111,0b00000000,0b00000000}, // |
{0b00000000,0b01000001,0b00110110,0b00001000,0b00000000}, // }
{0b00000010,0b00000001,0b00000011,0b00000010,0b00000001}, // ~
};
// Font 4x6 - Small
const unsigned char PROGMEM font4[95][4] = {
{0b00000000,0b00000000,0b00000000,0b00000000}, //
{0b00000000,0b01011100,0b00000000,0b00000000}, // !
{0b00001100,0b00000000,0b00001100,0b00000000}, // "
{0b01111100,0b00101000,0b01111100,0b00101000}, // #
{0b01011000,0b11011100,0b01101000,0b00000000}, // $
{0b00100100,0b00010000,0b01001000,0b00000000}, // %
{0b00101000,0b01010100,0b00101000,0b01000000}, // &
{0b00000000,0b00001100,0b00000000,0b00000000}, // '
{0b00000000,0b01111000,0b10000100,0b00000000}, // (
{0b10000100,0b01111000,0b00000000,0b00000000}, // )
{0b01010100,0b00111000,0b01010100,0b00000000}, // *
{0b00010000,0b01111100,0b00010000,0b00000000}, // +
{0b10000000,0b01000000,0b00000000,0b00000000}, // ,
{0b00010000,0b00010000,0b00010000,0b00000000}, // -
{0b00000000,0b01000000,0b00000000,0b00000000}, // .
{0b01100000,0b00010000,0b00001100,0b00000000}, // /
{0b00111000,0b01010100,0b00111000,0b00000000}, // 0
{0b01001000,0b01111100,0b01000000,0b00000000}, // 1
{0b01001000,0b01100100,0b01011000,0b00000000}, // 2
{0b01000100,0b01010100,0b00101100,0b00000000}, // 3
{0b00011100,0b00010000,0b01111100,0b00000000}, // 4
{0b01011100,0b01010100,0b00100100,0b00000000}, // 5
{0b00111000,0b01010100,0b00100100,0b00000000}, // 6
{0b01100100,0b00010100,0b00001100,0b00000000}, // 7
{0b01101000,0b01010100,0b00101100,0b00000000}, // 8
{0b01001000,0b01010100,0b00111000,0b00000000}, // 9
{0b00000000,0b01001000,0b00000000,0b00000000}, // :
{0b10000000,0b01001000,0b00000000,0b00000000}, // ;
{0b00010000,0b00101000,0b01000100,0b00000000}, // <
{0b00101000,0b00101000,0b00101000,0b00000000}, // =
{0b01000100,0b00101000,0b00010000,0b00000000}, // >
{0b00000100,0b01010100,0b00001000,0b00000000}, // ?
{0b00111000,0b01000100,0b01011100,0b00000000}, // @
{0b01111000,0b00010100,0b01111000,0b00000000}, // A
{0b01111100,0b01010100,0b00101000,0b00000000}, // B
{0b00111000,0b01000100,0b00101000,0b00000000}, // C
{0b01111100,0b01000100,0b00111000,0b00000000}, // D
{0b01111100,0b01010100,0b01000100,0b00000000}, // E
{0b01111100,0b00010100,0b00000100,0b00000000}, // F
{0b00111000,0b01000100,0b01110100,0b00000000}, // G
{0b01111100,0b00010000,0b01111100,0b00000000}, // H
{0b01000100,0b01111100,0b01000100,0b00000000}, // I
{0b00100000,0b01000000,0b00111100,0b00000000}, // J
{0b01111100,0b00010000,0b01101100,0b00000000}, // K
{0b01111100,0b01000000,0b01000000,0b00000000}, // L
{0b01111100,0b00011000,0b01111100,0b00000000}, // M
{0b01111000,0b00010000,0b00111100,0b00000000}, // N
{0b00111000,0b01000100,0b00111000,0b00000000}, // O
{0b01111100,0b00010100,0b00001000,0b00000000}, // P
{0b00111000,0b01000100,0b10111000,0b00000000}, // Q
{0b01111100,0b00010100,0b01101000,0b00000000}, // R
{0b01001000,0b01010100,0b00100100,0b00000000}, // S
{0b00000100,0b01111100,0b00000100,0b00000000}, // T
{0b01111100,0b01000000,0b01111100,0b00000000}, // U
{0b00111100,0b01100000,0b00111100,0b00000000}, // V
{0b01111100,0b00110000,0b01111100,0b00000000}, // W
{0b01101100,0b00010000,0b01101100,0b00000000}, // X
{0b00001100,0b01110000,0b00001100,0b00000000}, // Y
{0b01100100,0b01010100,0b01001100,0b00000000}, // Z
{0b00000000,0b01111100,0b01000100,0b00000000}, // [
{0b00001100,0b00010000,0b01100000,0b00000000}, // "\"
{0b01000100,0b01111100,0b00000000,0b00000000}, // ]
{0b00001000,0b00000100,0b00001000,0b00000000}, // ^
{0b10000000,0b10000000,0b10000000,0b00000000}, // _
{0b00000000,0b00000100,0b00001000,0b00000000}, // `
{0b00110000,0b01001000,0b01111000,0b00000000}, // a
{0b01111100,0b01001000,0b00110000,0b00000000}, // b
{0b00110000,0b01001000,0b01001000,0b00000000}, // c
{0b00110000,0b01001000,0b01111100,0b00000000}, // d
{0b00110000,0b01101000,0b01010000,0b00000000}, // e
{0b00010000,0b01111000,0b00010100,0b00000000}, // f
{0b10010000,0b10101000,0b01111000,0b00000000}, // g
{0b01111100,0b00001000,0b01110000,0b00000000}, // h
{0b01010000,0b01110100,0b01000000,0b00000000}, // i
{0b10000000,0b10000000,0b01110100,0b00000000}, // j
{0b01111100,0b00010000,0b01101000,0b00000000}, // k
{0b01000100,0b01111100,0b01000000,0b00000000}, // l
{0b01111000,0b00010000,0b01111000,0b00000000}, // m
{0b01111000,0b00001000,0b01110000,0b00000000}, // n
{0b00110000,0b01001000,0b00110000,0b00000000}, // o
{0b11111000,0b00101000,0b00010000,0b00000000}, // p
{0b00110000,0b01001000,0b11111000,0b00000000}, // q
{0b01111000,0b00010000,0b00001000,0b00000000}, // r
{0b01010000,0b01011000,0b00101000,0b00000000}, // s
{0b00001000,0b00111100,0b01001000,0b00000000}, // t
{0b00111000,0b01000000,0b01111000,0b00000000}, // u
{0b00111000,0b01000000,0b00111000,0b00000000}, // v
{0b01111000,0b00100000,0b01111000,0b00000000}, // w
{0b01001000,0b00110000,0b01001000,0b00000000}, // x
{0b10011000,0b10100000,0b01111000,0b00000000}, // y
{0b01001000,0b01101000,0b01011000,0b00000000}, // z
{0b00010000,0b01111000,0b10000100,0b00000000}, // {
{0b00000000,0b01111100,0b00000000,0b00000000}, // |
{0b10000100,0b01111000,0b00010000,0b00000000}, // }
{0b00001000,0b00000100,0b00001000,0b00000100}, // ~
};
#endif /* FONTS_H_ */
很难缩小范围并给出相关的项目代码,因为我不知道是什么导致了这个问题。
编辑:在 header 中声明 fonts.h 变量并在字体中初始化它们。c-file 解决了多重定义问题。 static-variables 'defined but not used' 问题仍然存在
静态变量 'defined but not used' 已通过将它们的声明移动到相关库的 .c 文件中解决。示例:
.c - 文件
static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;
init_params()
{
MENU_PAGE_TABLE_SRAM_BASE_OFFSET = (menu_page**) 0x1C00;
}
哪里
static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;
之前位于 .h 文件中
如果全局变量声明为 static
,这意味着它只能在这个特定的 .c
文件中使用。如果声明了变量但从未使用过,这是代码中语义错误的标志,并且它被标记为警告。
一般方法:只删除未使用的静态变量,或从声明中删除 static
关键字。
如果您在 .h
文件中声明了数组。这意味着每次包含头文件时,都会创建这些变量的新副本。如果它们没有被声明 static
会导致编译错误。如果是static
,那么每份都会占用内存
要解决此问题,您可能希望将这些数组移动到不带关键字 static
:
.c
文件中
// inside .c file
const unsigned char PROGMEM font8[95][8] = {
{0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000},
...
而在 .h
文件中只对这些数组进行声明:
// inside .h file
extern const unsigned char PROGMEM font8[95][8];
(注意关键词extern
)
这允许您在每个 .c
文件中使用数组的相同副本,其中包含 .h
。