STM32,CONST在MDK里编译报错,不知道怎么改?

2019-10-14 21:47发布

结构体 结构体 %Y{TYO~C5E_0_]CXMFUJ3.png ]97)87XMYJ[EMDZX}_U8QGR.png [I~A$AUCDMS~B2UL4[O%PTY.png


typedef struct
{
        uint16_t mPitch;                //
        int8_t mBeat;                        //
}Music;

const Music S_Key_Voice[] =
{
//        {音名,节拍}
        {HHH2,14},
        {HHHHH7,254},
        {HHHHHH1,254},
        {HHHHH7,254},
        {0,0}                //结束标志
};
const Music L_Key_Voice[] =
{
//        {音名,节拍}
        {HHH2,2},
        {HHHHH7,254},
        {HHHHHH1,254},
        {HHHHH7,254},
        {0,0}                //结束标志
};

void Prompt_Tone(uint8_t Voice_type)
{
        if(Voice_type == 0)
        {
                Play_Music(S_Key_Voice);//嘀
                delay_ms(20);
        }
        else
        {
                Play_Music(L_Key_Voice);//嘀--
                delay_ms(20);
        }
}

编译错误提示:symbol S_Key_Voice multiply defind
程序以前在IAR编译通过,现在用在MDK,不知道要怎么改才行?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
taizonglai
1楼-- · 2019-10-15 00:28
重复定义!
divdir
2楼-- · 2019-10-15 02:14
 精彩回答 2  元偷偷看……
lycreturn
3楼-- · 2019-10-15 03:35
把这些常量数组放到单独的一个.h文件里,那个要用到这些数组的.c包含这个头文件
divdir
4楼-- · 2019-10-15 07:32
刚原子哥给了有效的方法了,就是在const Music L_Key_Voice[] ={};前加个static修饰一下就能编译通过了
divdir
5楼-- · 2019-10-15 08:53
谢谢各位!

一周热门 更多>